summaryrefslogtreecommitdiffstats
path: root/lib/libc/locale/fix_grouping.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2001-02-19 06:19:51 +0000
committerache <ache@FreeBSD.org>2001-02-19 06:19:51 +0000
commit2e6d7dce03c120b99822c215188b38c0c51da29d (patch)
tree92d44fc46f93675075bb9264c8350af784892199 /lib/libc/locale/fix_grouping.c
parent4d1a3bb86f7f9d65a56bf9afdf62335411d40b0e (diff)
downloadFreeBSD-src-2e6d7dce03c120b99822c215188b38c0c51da29d.zip
FreeBSD-src-2e6d7dce03c120b99822c215188b38c0c51da29d.tar.gz
Deal properly with "0"
Diffstat (limited to 'lib/libc/locale/fix_grouping.c')
-rw-r--r--lib/libc/locale/fix_grouping.c6
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;
OpenPOWER on IntegriCloud