opnsense-src/lib/libc/tests/locale
Kyle Evans 25512b1fca libc: locale: fix EUC shift check
wchar_t is unsigned on ARM platforms, and signed pretty much everywhere
else.  On signed platforms, `nm` ends up with bogus upper bits set if we
did in-fact have a valid CS2 or CS3 (MSB set).  Mask just the low byte
to avoid sign bit garbage.

Bare basic test of converting a CS2 widechar in eucCN, which would
previously kick back an EILSEQ.

Reviewed by:	bapt, rew
Sponsored by:	Klara, Inc.

(cherry picked from commit c4c562eadf)
2025-04-25 22:19:49 -05:00
..
btowc_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
c16rtomb_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
iswctype_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
Makefile Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
mblen_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbrlen_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbrtoc16_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbrtowc_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbsnrtowcs_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbsrtowcs_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbstowcs_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mbtowc_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
newlocale_test.c libc: use separate collate objects for C, POSIX, and C.UTF-8 2023-03-28 17:16:30 +02:00
towctrans_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wcrtomb_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wcsnrtombs_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wcsrtombs_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wcstombs_test.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wctomb_test.c libc: locale: fix EUC shift check 2025-04-25 22:19:49 -05:00