diff options
Diffstat (limited to 'newlib/libc/stdlib/wcstombs_r.c')
-rw-r--r-- | newlib/libc/stdlib/wcstombs_r.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/newlib/libc/stdlib/wcstombs_r.c b/newlib/libc/stdlib/wcstombs_r.c deleted file mode 100644 index dd82bd383..000000000 --- a/newlib/libc/stdlib/wcstombs_r.c +++ /dev/null @@ -1,42 +0,0 @@ -#include <stdlib.h> -#include <wchar.h> - -size_t -_DEFUN (_wcstombs_r, (reent, s, pwcs, n, state), - struct _reent *r _AND - char *s _AND - const wchar_t *pwcs _AND - size_t n _AND - mbstate_t *state) -{ - char *ptr = s; - size_t max = n; - char buff[8]; - int i, num_to_copy; - - if (s == NULL) - { - size_t num_bytes = 0; - while (*pwcs != 0) - num_bytes += _wctomb_r (r, buff, *pwcs++, state); - return num_bytes; - } - else - { - while (n > 0) - { - int bytes = _wctomb_r (r, buff, *pwcs, state); - if (bytes == -1) - return -1; - num_to_copy = (n > bytes ? bytes : (int)n); - for (i = 0; i < num_to_copy; ++i) - *ptr++ = buff[i]; - - if (*pwcs == 0x00) - return ptr - s - (n >= bytes); - ++pwcs; - n -= num_to_copy; - } - return max; - } -} |