diff options
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/locale/euc.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libc/locale/euc.c b/lib/libc/locale/euc.c index 0e5f1bf..d92d31d 100644 --- a/lib/libc/locale/euc.c +++ b/lib/libc/locale/euc.c @@ -317,8 +317,8 @@ _EUC_mbrtowc_impl(wchar_t * __restrict pwc, const char * __restrict s, { _EucState *es; int i, want; - wchar_t wc; - unsigned char ch; + wchar_t wc = 0; + unsigned char ch, chs; es = (_EucState *)ps; @@ -367,7 +367,8 @@ _EUC_mbrtowc_impl(wchar_t * __restrict pwc, const char * __restrict s, for (i = 0; i < MIN(want, n); i++) { wc <<= 8; - wc |= *s; + chs = *s; + wc |= chs; s++; } if (i < want) { |