From b4fee5273ece15d709b8e1e7149f92665a24df3e Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 18 Nov 2009 09:49:57 +0000 Subject: * libc/stdio/vfprintf.c: Include ../stdlib/local.h. Replace call to _mbtowc_r with direct call to __mbtowc. * libc/stdio/vfscanf.c: Ditto. * libc/stdlib/btowc.c: Include local.h. Replace call to _mbtowc_r with direct call to __mbtowc. * libc/stdlib/mblen.c: Ditto. * libc/stdlib/mblen_r.c: Ditto. * libc/stdlib/mbrtowc.c: Ditto. * libc/stdlib/mbstowcs_r.c: Ditto. * libc/stdlib/mbtowc.c: Ditto. * libc/stdlib/wcrtomb.c: Include local.h. Replace call to _wctomb_r with direct call to __wctomb. * libc/stdlib/wcsnrtombs.c: Ditto. (_wcsnrtombs_r): Ditto. * libc/stdlib/wcstombs_r.c: Ditto. * libc/stdlib/wctob.c: Ditto. * libc/stdlib/wctomb.c: Ditto. * libc/stdlib/mbrtowc.c (mbrtowc): Implement independently from _mbrtowc_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are defined. * libc/stdlib/wcrtomb.c (wcrtomb): Implement independently from _wcrtomb_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are defined. * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Drop unnecessary test for ch >= 0. --- newlib/libc/stdio/vfprintf.c | 7 +++++-- newlib/libc/stdio/vfscanf.c | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'newlib/libc/stdio') diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c index 1d3119b4d..773485885 100644 --- a/newlib/libc/stdio/vfprintf.c +++ b/newlib/libc/stdio/vfprintf.c @@ -159,6 +159,7 @@ static char *rcsid = "$Id$"; #include #include #include "local.h" +#include "../stdlib/local.h" #include "fvwrite.h" #include "vfieeefp.h" @@ -722,7 +723,8 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap), for (;;) { cp = fmt; #ifdef _MB_CAPABLE - while ((n = _mbtowc_r (data, &wc, fmt, MB_CUR_MAX, &state)) > 0) { + while ((n = __mbtowc (data, &wc, fmt, MB_CUR_MAX, + __locale_charset (), &state)) > 0) { if (wc == '%') break; fmt += n; @@ -1794,7 +1796,8 @@ _DEFUN(get_arg, (data, n, fmt, ap, numargs_p, args, arg_type, last_fmt), while (*fmt && n >= numargs) { # ifdef _MB_CAPABLE - while ((nbytes = _mbtowc_r (data, &wc, fmt, MB_CUR_MAX, &wc_state)) > 0) + while ((nbytes = __mbtowc (data, &wc, fmt, MB_CUR_MAX, + __locale_charset (), &wc_state)) > 0) { fmt += nbytes; if (wc == '%') diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c index b24c9fb84..065dc3e89 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -122,6 +122,7 @@ Supporting OS subroutines required: #include #include #include "local.h" +#include "../stdlib/local.h" #ifdef INTEGER_ONLY #define VFSCANF vfiscanf @@ -506,7 +507,8 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap), wc = *fmt; #else memset (&state, '\0', sizeof (state)); - nbytes = _mbtowc_r (rptr, &wc, fmt, MB_CUR_MAX, &state); + nbytes = __mbtowc (rptr, &wc, fmt, MB_CUR_MAX, __locale_charset (), + &state); #endif fmt += nbytes; if (wc == 0) -- cgit v1.2.3