diff options
Diffstat (limited to 'locale/programs')
-rw-r--r-- | locale/programs/ld-monetary.c | 3 | ||||
-rw-r--r-- | locale/programs/ld-numeric.c | 3 | ||||
-rw-r--r-- | locale/programs/locale.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/locale/programs/ld-monetary.c b/locale/programs/ld-monetary.c index ec86223029..c88275f1cc 100644 --- a/locale/programs/ld-monetary.c +++ b/locale/programs/ld-monetary.c @@ -677,6 +677,9 @@ monetary_read (struct linereader *ldfile, struct localedef_t *result, if (!ignore_content) { + /* A single -1 means no grouping. */ + if (act == 1 && grouping[0] == '\177') + act--; grouping[act++] = '\0'; monetary->mon_grouping = xrealloc (grouping, act); diff --git a/locale/programs/ld-numeric.c b/locale/programs/ld-numeric.c index 093a04951e..f759947de4 100644 --- a/locale/programs/ld-numeric.c +++ b/locale/programs/ld-numeric.c @@ -305,6 +305,9 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result, if (now->tok != tok_eol) goto err_label; + /* A single -1 means no grouping. */ + if (act == 1 && grouping[0] == '\177') + act--; grouping[act++] = '\0'; numeric->grouping = xrealloc (grouping, act); diff --git a/locale/programs/locale.c b/locale/programs/locale.c index 14d34e693d..c0bdb6c36d 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -895,7 +895,7 @@ show_info (const char *name) printf ("%s=", item->name); if (val != NULL) - printf ("%d", *val == '\177' ? -1 : *val); + printf ("%d", *val == '\377' ? -1 : *val); putchar ('\n'); } break; |