]> Savannah Git Hosting - gnulib.git/commit
mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
authorBruno Haible <bruno@clisp.org>
Thu, 9 Jan 2020 00:47:17 +0000 (01:47 +0100)
committerBruno Haible <bruno@clisp.org>
Thu, 9 Jan 2020 00:47:17 +0000 (01:47 +0100)
commit9be236d67f3d78235c5cbe4381c5dd7b3cddb179
tree09bcc0427c1bd58585080336ebed1fe1bfde6898
parent877b0c46019d34e722c94248edbfaf5bfbaa17ec
mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.

* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
(gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
but is not working.
* lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
(mbrtoc32): If the char32_t encoding and the wchar_t encoding may
differ, use the system's mbrtoc32, adding workarounds.
* modules/mbrtoc32 (Depends-on): Add hard-locale.
* doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
Windows problem.
* lib/btoc32.c: Include <stdio.h>, <string.h>.
(btoc32): If the char32_t encoding and the wchar_t encoding may differ,
use mbrtoc32, not btowc.
* modules/btoc32 (Depends-on): Add mbrtoc32.
* lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
* modules/mbsrtoc32s (Depends-on): Update conditions.
(configure.ac): Compile mbsrtoc32s-state.c unconditionally.
* lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
* modules/mbsnrtoc32s (Depends-on): Update conditions.
(configure.ac): Compile mbsrtoc32s-state.c unconditionally.
ChangeLog
doc/posix-functions/mbrtoc32.texi
lib/btoc32.c
lib/mbrtoc32.c
lib/mbsnrtoc32s.c
lib/mbsrtoc32s.c
m4/mbrtoc32.m4
modules/btoc32
modules/mbrtoc32
modules/mbsnrtoc32s
modules/mbsrtoc32s