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