Commit 4f74b9c96de73c58550bcb0549019d83e6b31f7a

Bruno Haible 2023-06-24T17:40:12

mbchar, mbiter, mbuiter: Overcome wchar_t limitations. * lib/mbchar.h: Include <uchar.h> instead of <wchar.h>, <wctype.h>. (struct mbchar): Use char32_t instead of wchar_t. (mb_casecmp, mb_caseequal): Use c32tolower instead of towlower. (mb_isalnum): Use c32isalnum instead of iswalnum. (mb_isalpha): Use c32isalpha instead of iswalpha. (mb_isblank): Use c32isblank instead of iswblank. (mb_iscntrl): Use c32iscntrl instead of iswcntrl. (mb_isdigit): Use c32isdigit instead of iswdigit. (mb_isgraph): Use c32isgraph instead of iswgraph. (mb_islower): Use c32islower instead of iswlower. (mb_isprint): Use c32isprint instead of iswprint. (mb_ispunct): Use c32ispunct instead of iswpunct. (mb_isspace): Use c32isspace instead of iswspace. (mb_isupper): Use c32isupper instead of iswupper. (mb_isxdigit): Use c32isxdigit instead of iswxdigit. (mb_width_aux): Use c32width, c32iscntrl instead of wcwidth, iswcntrl. * lib/mbiter.h: Include <uchar.h> instead of <wchar.h>. (mbiter_multi_next): Use mbrtoc32 instead of mbrtowc. * lib/mbuiter.h: Include <uchar.h> instead of <wchar.h>. (mbuiter_multi_next): Use mbrtoc32 instead of mbrtowc. * lib/mbfile.h (mbfile_multi_getc): Use mbrtoc32 instead of mbrtowc. * lib/mbscasestr.c (knuth_morris_pratt_multibyte, mbscasestr): Use c32tolower instead of towlower. * lib/exclude.c (string_hasher_ci): Use char32_t, c32tolower instead of wchar_t, towlower. * modules/mbchar (Depends-on): Add uchar, c32isalnum, c32isalpha, c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace, c32isupper, c32isxdigit, c32tolower, c32width. Remove wchar, wctype-h, iswblank, iswdigit, iswxdigit, wcwidth. * modules/mbiter (Depends-on): Add mbrtoc32, uchar. Remove mbrtowc, wchar. * modules/mbuiter (Depends-on): Likewise. * modules/mbscasestr (Depends-on): Add c32tolower. * modules/exclude (Depends-on): Add c32tolower. * doc/strings.texi (C strings): Fix typo.