diff options
-rw-r--r-- | lib/libc/locale/fix_grouping.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libc/locale/fix_grouping.c b/lib/libc/locale/fix_grouping.c index a63889c..1ee614a 100644 --- a/lib/libc/locale/fix_grouping.c +++ b/lib/libc/locale/fix_grouping.c @@ -63,7 +63,10 @@ __fix_locale_grouping_str(const char *str) { return nogrouping; } - for (n = 0; isdigit((unsigned char)*src); src++) { + /* assume all numbers <= 99 */ + n = *src - '0'; + if (isdigit((unsigned char)*(src+1))) { + src++; n *= 10; n += *src - '0'; } |