Hash :
d4eb619a
Author :
Date :
2024-06-09T19:16:01
c32rtomb: Add a sanity check, working around Solaris 11 OmniOS. * m4/c32rtomb.m4 (gl_CHECK_FUNC_C32RTOMB): New macro, extracted from gl_FUNC_C32RTOMB. (gl_C32RTOMB_SANITYCHECK): New macro. (gl_FUNC_C32RTOMB): Require gl_CHECK_FUNC_C32RTOMB and gl_C32RTOMB_SANITYCHECK. If HAVE_WORKING_C32RTOMB is 0, set REPLACE_C32RTOMB. * lib/c32rtomb.c (c32rtomb): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * m4/mbrtoc32.m4 (gl_PREREQ_MBRTOC32): Require gl_C32RTOMB_SANITYCHECK. * lib/mbrtoc32.c (mbrtoc32): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * modules/mbrtoc32 (Files): Add m4/c32rtomb.m4. * lib/btoc32.c (btoc32): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * lib/mbsrtoc32s.c: Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * lib/mbsnrtoc32s.c: Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * lib/c32tob.c (c32tob): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * modules/c32tob (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * lib/c32srtombs.c: Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * lib/c32snrtombs.c: Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * lib/c32is-impl.h (FUNC): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * modules/c32isalnum (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isalpha (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isblank (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32iscntrl (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isdigit (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isgraph (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32islower (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isprint (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32ispunct (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isspace (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isupper (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32isxdigit (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * lib/c32to-impl.h (FUNC): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * modules/c32tolower (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * modules/c32toupper (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK. * lib/c32width.c (c32width): Together with HAVE_WORKING_MBRTOC32, test also HAVE_WORKING_C32RTOMB. * modules/c32width (Files): Add m4/c32rtomb.m4. (configure.ac): Require gl_C32RTOMB_SANITYCHECK.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
Description:
mbrtoc32() function: convert multibyte character to 32-bit wide character.
Files:
lib/mbrtoc32.c
lib/mbrtowc-impl.h
lib/mbrtowc-impl-utf8.h
lib/lc-charset-dispatch.h
lib/lc-charset-dispatch.c
lib/mbtowc-lock.h
lib/mbtowc-lock.c
lib/windows-initguard.h
m4/mbrtoc32.m4
m4/c32rtomb.m4
m4/locale-fr.m4
m4/locale-zh.m4
m4/codeset.m4
m4/mbrtowc.m4
m4/mbstate_t.m4
m4/threadlib.m4
m4/visibility.m4
Depends-on:
uchar
attribute [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
c99 [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
hard-locale [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
mbrtowc [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
mbsinit [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
mbszero [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
assert-h [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
localcharset [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
streq [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
configure.ac:
gl_FUNC_MBRTOC32
gl_CONDITIONAL([GL_COND_OBJ_MBRTOC32],
[test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1])
AM_COND_IF([GL_COND_OBJ_MBRTOC32], [
if test $REPLACE_MBSTATE_T = 1; then
AC_LIBOBJ([lc-charset-dispatch])
AC_LIBOBJ([mbtowc-lock])
gl_PREREQ_MBTOWC_LOCK
fi
gl_PREREQ_MBRTOC32
])
gl_UCHAR_MODULE_INDICATOR([mbrtoc32])
Makefile.am:
if GL_COND_OBJ_MBRTOC32
lib_SOURCES += mbrtoc32.c
endif
Include:
<uchar.h>
Link:
$(LTLIBUNISTRING) when linking with libtool, $(LIBUNISTRING) otherwise
$(MBRTOWC_LIB)
$(LTLIBC32CONV) when linking with libtool, $(LIBC32CONV) otherwise
License:
LGPLv2+
Maintainer:
Bruno Haible