X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Flibcore%2Flc_opts.c;h=665398acf9d5866516f4862d5a5fe1b82f1bee47;hb=bd019d8cd785c1a433c19dee44bf3f9e82397286;hp=b7b0e3042f1ea1dc18e874492198a60ebb2f2ce3;hpb=85f517eca982e6a4e1d1848eb67634ae33b70de9;p=libfirm diff --git a/ir/libcore/lc_opts.c b/ir/libcore/lc_opts.c index b7b0e3042..665398acf 100644 --- a/ir/libcore/lc_opts.c +++ b/ir/libcore/lc_opts.c @@ -28,6 +28,7 @@ #include "lc_opts_enum.h" #include "hashptr.h" #include "lc_printf.h" +#include "util.h" #include "xmalloc.h" #include "obst.h" @@ -335,7 +336,7 @@ static char *strtolower(char *buf, size_t n, const char *str) { unsigned i; for (i = 0; i < n; ++i) - buf[i] = tolower(str[i]); + buf[i] = tolower((unsigned char)str[i]); return buf; } @@ -354,17 +355,17 @@ int lc_opt_std_cb(const char *name, lc_opt_type_t type, void *data, size_t lengt case lc_opt_type_bit: integer = va_arg(args, int); if (integer) - *((int *) data) |= length; + *(unsigned*)data |= length; else - *((int *) data) &= ~length; + *(unsigned*)data &= ~length; break; case lc_opt_type_negbit: integer = va_arg(args, int); if (integer) - *((int *) data) &= ~length; + *(unsigned*)data &= ~length; else - *((int *) data) |= length; + *(unsigned*)data |= length; break; case lc_opt_type_boolean: @@ -504,7 +505,7 @@ int lc_opt_occurs(lc_opt_entry_t *opt, const char *value, lc_opt_err_info_t *err case lc_opt_type_bit: case lc_opt_type_negbit: strtolower(buf, sizeof(buf), value); - for (i = 0; i < LC_ARRSIZE(bool_strings); ++i) { + for (i = 0; i < ARRAY_SIZE(bool_strings); ++i) { if (strcmp(buf, bool_strings[i].str) == 0) { val->integer = bool_strings[i].val; error = lc_opt_err_none;