diff options
author | ache <ache@FreeBSD.org> | 2001-02-19 06:19:51 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2001-02-19 06:19:51 +0000 |
commit | 2e6d7dce03c120b99822c215188b38c0c51da29d (patch) | |
tree | 92d44fc46f93675075bb9264c8350af784892199 | |
parent | 4d1a3bb86f7f9d65a56bf9afdf62335411d40b0e (diff) | |
download | FreeBSD-src-2e6d7dce03c120b99822c215188b38c0c51da29d.zip FreeBSD-src-2e6d7dce03c120b99822c215188b38c0c51da29d.tar.gz |
Deal properly with "0"
-rw-r--r-- | lib/libc/locale/fix_grouping.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libc/locale/fix_grouping.c b/lib/libc/locale/fix_grouping.c index a2675d8..a63889c 100644 --- a/lib/libc/locale/fix_grouping.c +++ b/lib/libc/locale/fix_grouping.c @@ -68,7 +68,11 @@ __fix_locale_grouping_str(const char *str) { n += *src - '0'; } - *dst++ = n; + *dst = n; + /* NOTE: assume all input started with "0" as 'no grouping' */ + if (*dst == '\0') + return (dst == (char*)str) ? nogrouping : str; + dst++; } *dst = '\0'; return str; |