diff options
Diffstat (limited to 'newlib/libc/stdlib/wctomb.c')
-rw-r--r-- | newlib/libc/stdlib/wctomb.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/newlib/libc/stdlib/wctomb.c b/newlib/libc/stdlib/wctomb.c index 5cff10fff..f2c62496f 100644 --- a/newlib/libc/stdlib/wctomb.c +++ b/newlib/libc/stdlib/wctomb.c @@ -16,24 +16,24 @@ TRAD_SYNOPSIS wchar_t <[wchar]>; DESCRIPTION -When MB_CAPABLE is not defined, this is a minimal ANSI-conforming +When _MB_CAPABLE is not defined, this is a minimal ANSI-conforming implementation of <<wctomb>>. The only ``wide characters'' recognized are single bytes, and they are ``converted'' to themselves. -When MB_CAPABLE is defined, this routine calls <<_wctomb_r>> to perform +When _MB_CAPABLE is defined, this routine calls <<_wctomb_r>> to perform the conversion, passing a state variable to allow state dependent decoding. The result is based on the locale setting which may be restricted to a defined set of locales. Each call to <<wctomb>> modifies <<*<[s]>>> unless <[s]> is a null -pointer or MB_CAPABLE is defined and <[wchar]> is invalid. +pointer or _MB_CAPABLE is defined and <[wchar]> is invalid. RETURNS This implementation of <<wctomb>> returns <<0>> if -<[s]> is <<NULL>>; it returns <<-1>> if MB_CAPABLE is enabled +<[s]> is <<NULL>>; it returns <<-1>> if _MB_CAPABLE is enabled and the wchar is not a valid multi-byte character, it returns <<1>> -if MB_CAPABLE is not defined or the wchar is in reality a single +if _MB_CAPABLE is not defined or the wchar is in reality a single byte character, otherwise it returns the number of bytes in the multi-byte character. @@ -46,6 +46,7 @@ effects vary with the locale. #ifndef _REENT_ONLY +#include <newlib.h> #include <stdlib.h> int @@ -53,17 +54,17 @@ _DEFUN (wctomb, (s, wchar), char *s _AND wchar_t wchar) { -#ifdef MB_CAPABLE +#ifdef _MB_CAPABLE _REENT_CHECK_MISC(_REENT); return _wctomb_r (_REENT, s, wchar, &(_REENT_WCTOMB_STATE(_REENT))); -#else /* not MB_CAPABLE */ +#else /* not _MB_CAPABLE */ if (s == NULL) return 0; *s = (char) wchar; return 1; -#endif /* not MB_CAPABLE */ +#endif /* not _MB_CAPABLE */ } #endif /* !_REENT_ONLY */ |