diff options
Diffstat (limited to 'locale')
-rw-r--r-- | locale/findlocale.c | 4 | ||||
-rw-r--r-- | locale/programs/charset.c | 8 | ||||
-rw-r--r-- | locale/programs/ld-collate.c | 2 | ||||
-rw-r--r-- | locale/programs/ld-monetary.c | 4 | ||||
-rw-r--r-- | locale/programs/locfile.c | 4 |
5 files changed, 14 insertions, 8 deletions
diff --git a/locale/findlocale.c b/locale/findlocale.c index 35b1971..5e87a33 100644 --- a/locale/findlocale.c +++ b/locale/findlocale.c @@ -85,7 +85,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len, /* We really have to load some data. First see whether the name is an alias. Please note that this makes it impossible to have "C" or "POSIX" as aliases. */ - loc_name = _nl_expand_alias (*name); + loc_name = (char *) _nl_expand_alias (*name); if (loc_name == NULL) /* It is no alias. */ loc_name = *name; @@ -144,7 +144,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len, /* If the addressed locale is already available it should be freed. If we would not do this switching back and force between two locales would slowly eat up all memory.*/ - free (loc_name); + free ((void *) loc_name); if (locale_file->decided == 0) _nl_load_locale (locale_file, category); diff --git a/locale/programs/charset.c b/locale/programs/charset.c index 2e2f63b..a7f988d 100644 --- a/locale/programs/charset.c +++ b/locale/programs/charset.c @@ -66,7 +66,7 @@ charset_find_value (const struct charset_t *cs, const char *name, size_t len) if (find_entry ((hash_table *) &cs->char_table, name, len, &result) < 0) return ILLEGAL_CHAR_VALUE; - return (unsigned int) result; + return (unsigned int) ((unsigned long int) result); } @@ -81,7 +81,8 @@ insert_char (struct linereader *lr, struct charset_t *cs, int bytes, if (to == NULL) { - if (insert_entry (&cs->char_table, from, strlen (from), (void *) value) + if (insert_entry (&cs->char_table, from, strlen (from), + (void *) (unsigned long int) value) < 0) lr_error (lr, _("duplicate character name `%s'"), from); @@ -126,7 +127,8 @@ insert_char (struct linereader *lr, struct charset_t *cs, int bytes, { sprintf (&buf[prefix_len], "%0d", cnt); - if (insert_entry (&cs->char_table, buf, len1, (void *) cnt) < 0) + if (insert_entry (&cs->char_table, buf, len1, + (void *) (unsigned long int) cnt) < 0) lr_error (lr, _("duplicate character name `%s'"), buf); } } diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 629df90..4bdf0b2 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -233,7 +233,7 @@ collate_finish (struct localedef_t *locale, struct charset_t *charset) else if (find_entry (&collate->symbols, patch->token, toklen, &ptmp) >= 0) { - value = (unsigned int) ptmp; + value = (unsigned long int) ptmp; } else value = 0; diff --git a/locale/programs/ld-monetary.c b/locale/programs/ld-monetary.c index a717377..5efa969 100644 --- a/locale/programs/ld-monetary.c +++ b/locale/programs/ld-monetary.c @@ -164,8 +164,12 @@ value for field `%s' in category `%s' must not be the empty string"), value for field `%s' in category `%s' must be in range %d...%d"), \ #cat, "LC_MONETARY", min, max) +#if 0 + /* The following two test are not really necessary because all values + the variable could have are valid. */ TEST_ELEM (int_frac_digits, -128, 127); /* No range check. */ TEST_ELEM (frac_digits, -128, 127); /* No range check. */ +#endif TEST_ELEM (p_cs_precedes, -1, 1); TEST_ELEM (p_sep_by_space, -1, 2); TEST_ELEM (n_cs_precedes, -1, 1); diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c index 89dc6bb..3bbe479 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -935,7 +935,7 @@ write_locale_data (const char *output_path, const char *category, int fd; char *fname; - asprintf (&fname, "%s/%s", output_path, category); + asprintf (&fname, "%s%s", output_path, category); fd = creat (fname, 0666); if (fd == -1) { @@ -944,7 +944,7 @@ write_locale_data (const char *output_path, const char *category, if (errno == EISDIR) { free (fname); - asprintf (&fname, "%1$s/%2$s/SYS_%2$s", output_path, category); + asprintf (&fname, "%1$s%2$s/SYS_%2$s", output_path, category); fd = creat (fname, 0666); if (fd == -1) save_err = errno; |