diff options
Diffstat (limited to 'newlib/libc/stdlib/mbstowcs_r.c')
-rw-r--r-- | newlib/libc/stdlib/mbstowcs_r.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/newlib/libc/stdlib/mbstowcs_r.c b/newlib/libc/stdlib/mbstowcs_r.c index c6130b2bd..5478849bb 100644 --- a/newlib/libc/stdlib/mbstowcs_r.c +++ b/newlib/libc/stdlib/mbstowcs_r.c @@ -1,5 +1,4 @@ #include <stdlib.h> -#include <wchar.h> size_t _DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state), @@ -7,7 +6,7 @@ _DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state), wchar_t *pwcs _AND const char *s _AND size_t n _AND - mbstate_t *state) + int *state) { wchar_t *ptr = pwcs; size_t max = n; @@ -17,11 +16,8 @@ _DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state), while (n > 0) { bytes = _mbtowc_r (r, ptr, t, MB_CUR_MAX, state); - if (bytes < 0) - { - state->__count = 0; - return -1; - } + if (bytes == -1) + return -1; else if (bytes == 0) return ptr - pwcs; t += bytes; |