diff options
Diffstat (limited to 'doc/posix-functions/toupper.texi')
-rw-r--r-- | doc/posix-functions/toupper.texi | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/doc/posix-functions/toupper.texi b/doc/posix-functions/toupper.texi index 36e40c45bc..86272d3ca0 100644 --- a/doc/posix-functions/toupper.texi +++ b/doc/posix-functions/toupper.texi @@ -16,7 +16,32 @@ OS X 10.8. Portability problems not fixed by Gnulib: @itemize -@item -On Windows and 32-bit AIX platforms, @code{wchar_t} is a 16-bit type and therefore cannot -accommodate all Unicode characters. @end itemize + +Note: This function's behaviour depends on the locale, but does not support +the multibyte characters that occur in strings in locales with +@code{MB_CUR_MAX > 1} (this includes all the common UTF-8 locales). +There are four alternative APIs: + +@table @code +@item c_toupper +This function operates in a locale independent way and returns a different +value than the argument only for lowercase ASCII characters. It is provided +by the Gnulib module @samp{c-ctype}. + +@item towupper +This function operates in a locale dependent way, on wide characters. In +order to use it, you first have to convert from multibyte to wide characters, +using the @code{mbrtowc} function. It is provided by the Gnulib module +@samp{wctype}. + +@item c32toupper +This function operates in a locale dependent way, on 32-bit wide characters. +In order to use it, you first have to convert from multibyte to 32-bit wide +characters, using the @code{mbrtoc32} function. It is provided by the +Gnulib module @samp{c32toupper}. + +@item uc_toupper +This function operates in a locale independent way, on Unicode characters. +It is provided by the Gnulib module @samp{unicase/toupper}. +@end table |