diff options
Diffstat (limited to 'stdio-common/vfscanf.c')
-rw-r--r-- | stdio-common/vfscanf.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c index 6b95352971..0412ca66eb 100644 --- a/stdio-common/vfscanf.c +++ b/stdio-common/vfscanf.c @@ -1202,7 +1202,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr) int from_level; int to_level; #ifdef COMPILE_WPRINTF - const wchar_t *wcdigits; + const wchar_t *wcdigits[10]; #else const char *mbdigits[10]; #endif @@ -1221,19 +1221,19 @@ __vfscanf (FILE *s, const char *format, va_list argptr) and also perform the first round of comparisons. */ for (n = 0; n < 10; ++n) { - size_t dlen; - size_t dcnt; - /* Get the string for the digits with value N. */ #ifdef COMPILE_WPRINTF - wcdigits[n] = _NL_CURRENT (LC_CTYPE, - _NL_CTYPE_INDIGITS0_WC + n); - if (c == *wcdigit[n]) + wcdigits[n] = (const wchar_t *) + _NL_CURRENT (LC_CTYPE, _NL_CTYPE_INDIGITS0_WC + n); + if (c == *wcdigits[n]) break; /* Advance the pointer to the next string. */ ++wcdigits[n]; #else + size_t dlen; + size_t dcnt; + mbdigits[n] = _NL_CURRENT (LC_CTYPE, _NL_CTYPE_INDIGITS0_MB + n); dlen = strlen (mbdigits[n]); @@ -1253,8 +1253,8 @@ __vfscanf (FILE *s, const char *format, va_list argptr) /* Advance the pointer to the next string. */ mbdigits[n] += dlen + 1; - } #endif + } if (n == 10) { @@ -1265,7 +1265,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr) for (n = 0; n < 10; ++n) { #ifdef COMPILE_WPRINTF - if (c == *wcdigit[n]) + if (c == *wcdigits[n]) break; /* Advance the pointer to the next string. */ |