The NetBSD Project

CVS log for src/tests/lib/libc/locale/Makefile

[BACK] Up to [cvs.NetBSD.org] / src / tests / lib / libc / locale

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.13.10.1: download - view: text, markup, annotated - select for diffs
Mon Oct 14 17:20:19 2024 UTC (7 weeks, 2 days ago) by martin
Branches: netbsd-10
Diff to: previous 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13: +19 -12 lines
Pull up following revision(s) (requested by riastradh in ticket #976):

	lib/libc/locale/c32rtomb.3: revision 1.10
	lib/libc/locale/c32rtomb.3: revision 1.9
	lib/libc/locale/c32rtomb.3: revision 1.11
	tests/lib/libc/locale/t_mbrtoc32.c: revision 1.1
	distrib/sets/lists/base/shl.mi: revision 1.988
	lib/libc/include/namespace.h: revision 1.204
	lib/libc/include/namespace.h: revision 1.205
	lib/libc/locale/mbrtoc16.3: revision 1.1
	lib/libc/locale/mbrtoc16.c: revision 1.1
	lib/libc/locale/mbrtoc16.3: revision 1.2
	lib/libc/locale/mbrtoc16.c: revision 1.2
	lib/libc/locale/mbrtoc16.3: revision 1.3
	lib/libc/locale/mbrtoc16.c: revision 1.3
	lib/libc/locale/mbrtoc32.3: revision 1.1
	lib/libc/locale/mbrtoc32.c: revision 1.1
	tests/lib/libc/locale/t_c16rtomb.c: revision 1.1
	lib/libc/locale/mbrtoc32.c: revision 1.2
	lib/libc/locale/mbrtoc16.3: revision 1.4
	lib/libc/locale/mbrtoc16.c: revision 1.4
	lib/libc/locale/mbrtoc32.3: revision 1.2
	tests/lib/libc/locale/t_c16rtomb.c: revision 1.2
	lib/libc/locale/mbrtoc32.c: revision 1.3
	lib/libc/locale/mbrtoc16.3: revision 1.5
	lib/libc/locale/mbrtoc16.c: revision 1.5
	lib/libc/locale/mbrtoc32.3: revision 1.3
	tests/lib/libc/locale/t_c16rtomb.c: revision 1.3
	lib/libc/locale/mbrtoc32.c: revision 1.4
	lib/libc/locale/mbrtoc16.3: revision 1.6
	lib/libc/locale/mbrtoc16.c: revision 1.6
	lib/libc/locale/mbrtoc32.3: revision 1.4
	tests/lib/libc/locale/t_c16rtomb.c: revision 1.4
	lib/libc/locale/mbrtoc32.c: revision 1.5
	lib/libc/locale/mbrtoc16.3: revision 1.7
	lib/libc/locale/mbrtoc16.c: revision 1.7
	lib/libc/locale/mbrtoc32.3: revision 1.5
	tests/lib/libc/locale/t_c16rtomb.c: revision 1.5
	lib/libc/locale/mbrtoc32.c: revision 1.6
	lib/libc/locale/mbrtoc16.3: revision 1.8
	lib/libc/locale/mbrtoc32.3: revision 1.6
	tests/lib/libc/locale/t_c16rtomb.c: revision 1.6
	lib/libc/locale/mbrtoc32.c: revision 1.7
	lib/libc/locale/mbrtoc16.3: revision 1.9
	lib/libc/locale/mbrtoc32.3: revision 1.7
	lib/libc/locale/mbrtoc32.c: revision 1.8
	lib/libc/locale/mbrtoc32.3: revision 1.8
	lib/libc/locale/mbrtoc32.c: revision 1.9
	distrib/sets/lists/comp/mi: revision 1.2468
	lib/libc/locale/mbrtoc32.3: revision 1.9
	distrib/sets/lists/comp/mi: revision 1.2469
	lib/libc/locale/c32rtomb.h: revision 1.1
	lib/libc/locale/c32rtomb.h: revision 1.2
	include/Makefile: revision 1.147
	share/man/man3/uchar.3: revision 1.1
	share/man/man3/uchar.3: revision 1.2
	tests/lib/libc/locale/t_c32rtomb.c: revision 1.1
	distrib/sets/lists/comp/mi: revision 1.2470
	lib/libc/locale/c16rtomb.3: revision 1.1
	lib/libc/locale/c16rtomb.c: revision 1.1
	lib/libc/locale/c16rtomb.3: revision 1.2
	lib/libc/locale/c16rtomb.c: revision 1.2
	lib/libc/locale/c16rtomb.3: revision 1.3
	lib/libc/locale/c16rtomb.c: revision 1.3
	lib/libc/locale/c16rtomb.3: revision 1.4
	lib/libc/locale/c16rtomb.c: revision 1.4
	lib/libc/locale/c16rtomb.3: revision 1.5
	lib/libc/locale/c16rtomb.c: revision 1.5
	lib/libc/locale/c16rtomb.3: revision 1.6
	lib/libc/locale/c16rtomb.c: revision 1.6
	lib/libc/locale/c16rtomb.3: revision 1.7
	lib/libc/locale/c16rtomb.c: revision 1.7
	lib/libc/locale/c16rtomb.3: revision 1.8
	lib/libc/locale/c16rtomb.3: revision 1.9
	distrib/sets/lists/tests/mi: revision 1.1330
	distrib/sets/lists/tests/mi: revision 1.1331
	distrib/sets/lists/tests/mi: revision 1.1332
	tests/lib/libc/locale/t_uchar.c: revision 1.1
	tests/lib/libc/locale/t_uchar.c: revision 1.2
	tests/lib/libc/locale/t_uchar.c: revision 1.3
	tests/lib/libc/locale/t_mbrtoc16.c: revision 1.1
	tests/lib/libc/locale/t_mbrtoc16.c: revision 1.2
	tests/lib/libc/locale/t_mbrtoc16.c: revision 1.3
	include/uchar.h: revision 1.1
	include/uchar.h: revision 1.2
	include/uchar.h: revision 1.3
	include/uchar.h: revision 1.4
	include/uchar.h: revision 1.5
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.1
	include/uchar.h: revision 1.6
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.2
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.3
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.4
	share/man/man3/Makefile: revision 1.93
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.5
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.6
	tests/lib/libc/locale/t_c8rtomb.c: revision 1.7
	lib/libc/shlib_version: revision 1.297
	lib/libc/locale/c16rtomb.3: revision 1.10
	lib/libc/locale/c16rtomb.3: revision 1.11
	tests/lib/libc/locale/t_mbrtoc8.c: revision 1.1
	tests/lib/libc/locale/t_mbrtoc8.c: revision 1.2
	tests/lib/libc/locale/t_mbrtoc8.c: revision 1.3
	lib/libc/locale/mbrtoc16.3: revision 1.10
	tests/lib/libc/locale/Makefile: revision 1.15
	tests/lib/libc/locale/Makefile: revision 1.16
	tests/lib/libc/locale/Makefile: revision 1.17
	tests/lib/libc/locale/Makefile: revision 1.18
	distrib/sets/lists/debug/mi: revision 1.442
	distrib/sets/lists/debug/mi: revision 1.443
	distrib/sets/lists/debug/mi: revision 1.444
	lib/libc/locale/c8rtomb.3: revision 1.1
	lib/libc/locale/c8rtomb.c: revision 1.1
	lib/libc/locale/c8rtomb.3: revision 1.2
	lib/libc/locale/c8rtomb.c: revision 1.2
	lib/libc/locale/c8rtomb.3: revision 1.3
	lib/libc/locale/c8rtomb.c: revision 1.3
	lib/libc/locale/c8rtomb.3: revision 1.4
	lib/libc/locale/c8rtomb.c: revision 1.4
	lib/libc/locale/c8rtomb.3: revision 1.5
	lib/libc/locale/c8rtomb.c: revision 1.5
	lib/libc/locale/c8rtomb.3: revision 1.6
	lib/libc/locale/c8rtomb.c: revision 1.6
	lib/libc/locale/c8rtomb.3: revision 1.7
	lib/libc/locale/c8rtomb.3: revision 1.8
	lib/libc/locale/c8rtomb.3: revision 1.9
	lib/libc/locale/mbrtoc32.h: revision 1.1
	lib/libc/locale/mbrtoc32.h: revision 1.2
	lib/libc/locale/mbrtoc8.c: revision 1.1
	lib/libc/locale/mbrtoc8.3: revision 1.1
	lib/libc/locale/mbrtoc8.c: revision 1.2
	lib/libc/locale/mbrtoc8.3: revision 1.2
	lib/libc/locale/mbrtoc8.c: revision 1.3
	lib/libc/locale/mbrtoc8.3: revision 1.3
	lib/libc/locale/mbrtoc8.c: revision 1.4
	lib/libc/locale/mbrtoc8.3: revision 1.4
	lib/libc/locale/Makefile.inc: revision 1.66
	lib/libc/locale/mbrtoc8.c: revision 1.5
	lib/libc/locale/mbrtoc8.3: revision 1.5
	lib/libc/locale/Makefile.inc: revision 1.67
	lib/libc/locale/mbrtoc8.c: revision 1.6
	lib/libc/locale/mbrtoc8.3: revision 1.6
	lib/libc/locale/mbrtoc8.c: revision 1.7
	lib/libc/locale/mbrtoc8.3: revision 1.7
	lib/libc/locale/mbrtoc8.c: revision 1.8
	lib/libc/locale/c32rtomb.3: revision 1.1
	lib/libc/locale/c32rtomb.c: revision 1.1
	lib/libc/locale/c32rtomb.3: revision 1.2
	lib/libc/locale/c32rtomb.c: revision 1.2
	lib/libc/locale/c32rtomb.3: revision 1.3
	lib/libc/locale/c32rtomb.c: revision 1.3
	lib/libc/locale/c32rtomb.3: revision 1.4
	lib/libc/locale/c32rtomb.c: revision 1.4
	lib/libc/locale/c32rtomb.3: revision 1.5
	lib/libc/locale/c32rtomb.c: revision 1.5
	lib/libc/locale/c32rtomb.3: revision 1.6
	lib/libc/locale/c32rtomb.c: revision 1.6
	lib/libc/locale/c32rtomb.3: revision 1.7
	lib/libc/locale/c32rtomb.3: revision 1.8

	(all via patch)


tests/lib/libc/locale/Makefile: Sort.
No functional change intended.
Preparation for PR lib/52374.

uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later.  Updates for C23 to come later.
PR lib/52374: <uchar.h> missing

libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale.  The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing
mbrtoc16(3), mbrtoc32(3): Fix \n in man page examples.
Need to write \en to pacify roff.
PR lib/52374: <uchar.h> missing

c16rtomb(3), c32rtomb(3): Fix more \n in man pages.
Also, tighten an assertion: we left room for a NUL byte at the end.
PR lib/52374: <uchar.h> missing

libc: Use the more idiomatic alignof from stdalign.h.
No functional change intended.
PR lib/52374: <uchar.h> missing

mbrtoc16(3): Simplify surrogate state test.

Turn the finer-grained test into an assertion.
No semantic change intended: we are supposed to control this state,
and we always arrange it this way.  (But in principle this could
change the behaviour of buggy programs that violate the mbstate_t
abstraction.)
PR lib/52374: <uchar.h> missing

libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L
(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb
libc: c32rtomb and mbrtoc32 are used internally, so weak-alias them.
PR lib/52374: <uchar.h> missing
c8rtomb(3), mbrtoc8(3): Use namespace.h to get private aliases.

This way applications defining the symbols c32rtomb or mbrtoc32 won't
clobber our private definitions, which are slightly more constrained
about their use of mbstate_t than is obvious from the interface
contract.

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb
mbrtoc16(3), mbrtoc32(3): brush up markup

Split long .Fn lines into Fo/Fa/Fc.  Dont indent the list of return
values.  Don't use artisanal -width.

Untabify code examples - indented literal displays don't have correct
tab stops consistent with tab stops in the fixed font code, so the
lines end up misaligned in the PostScript output.

c16rtomb(3), c32rtomb(3): brush up markup

mbrtoc16(3), mbrtoc32(3): Simplify return value language.
Also expand BMP only once.
PR lib/52374: <uchar.h> missing

mbrtoc16(3), mbrtoc32(3): No state overlap with mbrtoc8 or c8rtomb.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

mbrtoc32(3): Clarify control flow.
No need for another goto here; let's keep it clearly structured with
a single `out' label.
No functional change intended.
PR lib/52374: <uchar.h> missing

c8rtomb(3), mbrtoc8(3): brush up markup

mbrtoc8(3): Simplify return value language.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

c16rtomb(3), c32rtomb(3): Specify what happens if ps is null.
PR lib/52374: <uchar.h> missing

c8rtomb(3): Specify what happens when ps is null.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

c16rtomb(3), c32rtomb(3): No state overlap with mbrtoc8 or c8rtomb.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

mbrtoc16(3), mbrtoc32(3): Work on deturgidifying prose.
Still maybe not great but at least there's less jargon in most of the
text, without really losing any content.
PR lib/52374: <uchar.h> missing

mbrtoc8(3): Work on deturgidifying prose.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

mbrtoc16(3), mbrtoc32(3): Restore word accidentally removed.
PR lib/52374: <uchar.h> missing

mbrtoc8(3): Restore word accidentally removed.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

c8rtomb(3): Fix possible error descriptions.
The argument c8 can't be a surrogate code point itself (they're in
the range [0xd800,0xdfff], beyond 8-bit values), but the bits of a
surrogate code point could be forced into the UTF-8 format, which is
also invalid.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

c16rtomb(3), c32rtomb(3): Attempt a deturgidification pass.
Limit the jargon around surrogates.
PR lib/52374: <uchar.h> missing

c8rtomb(3): Clarify prose and fix example in caveat.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb
c16rtomb(3), c32rtomb(3), mbrtoc16(3), mbrtoc32(3): xref c8 versions.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

mbrtoc16(3): Clarify how many bytes are consumed in special cases.
Fix overlap in RETURN VALUES section.
PR lib/52374: <uchar.h> missing

mbrtoc8(3): Clarify how many bytes are consumed in special cases.
Fix overlap in RETURN VALUES section.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

pass lint, XXX see lint bug.

libc: Add _l variants of the cNrtomb and mbrtocN functions.
These accept an explicit locale parameter, rather than using the
current locale.
Visible under _NETBSD_SOURCE, not exposed otherwise.
NOTE: This adds libc symbols.  Riding the libc minor bump for the
non-_l variants of these from two days ago -- hope that's not pushing
it too far.
PR lib/58613: c*rtomb, mbrtoc* should have locale-parametric _l
variants

c8rtomb(3), c16rtomb(3): Add tests for incomplete NUL termination.
PR lib/58615: incomplete c8rtomb, c16rtomb handles NUL termination
wrong

c8rtomb(3), c16rtomb(3): Fix NUL handling.
PR lib/58615: incomplete c8rtomb, c16rtomb handles NUL termination
wrong

c8rtomb(3), c16rtomb(3), c32rtomb(3): Test stateful shift sequences.
PR lib/58612: c8rtomb/c16rtomb/c32rtomb yield suboptimal shift
sequences

c8rtomb(3): Fix digit error in shift sequence test.
PR lib/58612: c8rtomb/c16rtomb/c32rtomb yield suboptimal shift
sequences

c8rtomb(3): Nix __CTASSERT after case label.
I put this in to make it (machine-verifiably) clear that zeroing the
state is the same as returning to the initial conversion state, as
the standard requires, but this is causing build trouble (and will
likely cause more trouble if pulled up) because some definitions of
__CTASSERT make a declaration which is forbidden after a label, so
let's remove it.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

mbrtoc8(3): Fix pasto in comment at top.
No functional change intended.
PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

mbrtoc8: remove lint-specific workarounds
No binary change.

mbrtoc8: fix comments

mbrtoc16, mbrtoc32: fix comments, remove lint-specific workarounds
No binary change.
t_c8rtomb, t_c16rtomb: Simplify comment.
ESC $ B is technically rather the JIS X 0208-1983 shift sequence, but
since I don't see any way to provoke the JIS X 0208-1978 shift
sequence to come flying out of this conversion (ESC $ @), and I'm not
sure there's any difference in the interpretation, let's just say JIS
X 0208.
PR lib/58612: c8rtomb/c16rtomb/c32rtomb yield suboptimal shift
sequences

c32rtomb(3): Use conversion state to handle shift sequences.
For conversion of Unicode scalar values to coding systems requiring
shift sequences, such as ISO-2022-JP, _citrus_iconv_convert will
always produce:
1. a shift sequence from the initial state to some nondefault state,
   like from US-ASCII to JIS X 0208
2. the encoding of the desired characater
3. a shift sequence restoring the initial state
This is unnecessary if the output is already in the state needed to
encoded the desired character.  For example, this method produces
seven bytes to encode each YEN SIGN in ISO-2022-JP -- and fourteen,
to encode two consecutive ones -- even though the shift sequence is
only three bytes long and once shifted YEN SIGN takes only one byte.
Instead, convert the Unicode scalar value to a locale-dependent wide
character and encode that, by composing
- _citrus_iconv_convert
  => gives us a multibyte encoding of the character from the initial
     state (and restoring the initial state afterward)
- mbrtowc with initial conversion state
  => gives us the single wide character representation
     XXX If combining characters are possible here, this may fail.
- wcrtomb with caller's conversion tsate
  => gives us a state-dependent multibyte encoding of the character
XXX Is there a cheaper way to convert from Unicode scalar value to
locale-dependent wide character?  It is not obvious to me from the
largely undocumented Citrus machinery, but it would obviously be
better than this somewhat circuitous Rube Goldberg contraption of
chained multibyte APIs.
PR lib/58612: c8rtomb/c16rtomb/c32rtomb yield suboptimal shift
sequences

mbrtoc8(3), mbrtoc16(3): Test consuming shift sequences with state.
This has the side effect of testing mbrtoc32(3) because they are both
defined in terms of it.
PR lib/58618: mbrtocN(3) fails to keep shift state

c8rtomb(3), c16rtomb(3), c32rtomb(3): Suggest MB_LEN_MAX in example.
This way it avoids variable-length arrays, by always allocating the
maximum space that could be occupied by MB_CUR_MAX.

mbrtoc32(3): Use conversion state to handle shift sequences.
PR lib/58618: mbrtocN(3) fails to keep shift state

mbrtoc32(3): Fix name and type of mbrtowc_l return value.
This was from `int mbtowc_l(...)' in an earlier draft and I didn't
update it to size_t when I changed the draft to mbrtowc_l.  Caught by
lint.
`mb_len' avoids (harmless) clash with standard C function mblen(3).
PR lib/58618: mbrtocN(3) fails to keep shift state

c32rtomb(3): Fix type of wcrtomb_l return value.
This was from `int wctomb_l(...)' in an earlier draft and I didn't
update it to size_t when I changed the draft to wcrtomb_l.  Caught by
lint.
`wc_len' mirrors `mb_len' in the complementary code in mbrtoc32(3) to
avoid clash with standard C function mblen(3).
PR lib/58612: c8rtomb/c16rtomb/c32rtomb yield suboptimal shift
sequences

c8rtomb(3), c16rtomb(3), c32rtomb(3): Attempt to simplify language.

c8rtomb(3), c16rtomb(3), c32rtomb(3): Fix null string output case.
This ignores c8/c16/c32, produces no output anywhere, and just resets
ps to the initial conversion state.
Also just use 0 in the example, not '\0' or L'\0'.  This works for
C11, which prefers '\0' and L'\0', for and C23, which introduced the
new u8'\0', u'\0' (UTF-16), and U'\0' (UTF-32).
c16rtomb, c32rtomb, mbrtoc8: fix page numbers in comments
mbrtoc8(3), mbrtoc16(3), mbrtoc32(3): Say 0 for zero code unit.
Rather than deal with differences between C11 and C23 in notation,
'\0' vs L'\0' vs u8'\0' vs u'\0' vs U'\0'.
uchar.h: Include <sys/featuretest.h> before testing _*_SOURCE.
PR lib/58752: various header files test _*_SOURCE macros but don't
include sys/featuretest.h
PR lib/52374: <uchar.h> missing

uchar.h: Need <sys/cdefs.h> for __restrict.
PR lib/52374: <uchar.h> missing

uchar.h: Simplify __cpp_char8_t and __cplusplus conditionals.
No functional change intended.
PR lib/52374: <uchar.h> missing

tests/lib/libc/locale/t_uchar: Test for char8_t, mbrtoc8, c8rtomb.
PR lib/58752: various header files test _*_SOURCE macros but don't
include sys/featuretest.h
PR lib/52374: <uchar.h> missing

tests/t_uchar: fix copy-and-paste typo

Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Aug 15 21:19:45 2024 UTC (3 months, 2 weeks ago) by riastradh
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +3 -1 lines
libc: New functions c8rtomb(3) and mbrtoc8(3).

New in C23, for converting from UTF-8 to locale-dependent multibyte
sequences (c8rtomb) or vice versa (mbrtoc8), along with the new type
char8_t.

Conditional on either:
- _NETBSD_SOURCE
- _ISOC23_SOURCE
- __STDC_VERSION__ >= 202311L

(Riding the libc minor bump from this morning for the UTF-16/UTF-32
versions from C11.)

PR standards/58601: uchar.h C23 compliance: char8_t, mbrtoc8, c8rtomb

Revision 1.17: download - view: text, markup, annotated - select for diffs
Thu Aug 15 14:16:34 2024 UTC (3 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +5 -1 lines
libc: New C11 functions mbrtoc16, mbrtoc32, c16rtomb, c32rtomb.

The mbrtoc16/32 functions read mulitbyte strings according to the
current locale into UTF-16/32 code unit sequences; the c16/32rtomb
functions write UTF-16/32 code unit sequences into multibyte strings
according to the current locale.  The `r' means restartable: they
work incrementally and pick up where they left off.

NOTE: This bumps the libc minor version, since it adds new symbols.

PR lib/52374: <uchar.h> missing

Revision 1.16: download - view: text, markup, annotated - select for diffs
Thu Aug 15 13:14:44 2024 UTC (3 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +2 -1 lines
uchar.h: New header file for C11 (and C++11) compliance.

Implementation of the new functions mbrtoc16, c16rtomb, mbrtoc32, and
c32rtomb to come later.  Updates for C23 to come later.

PR lib/52374: <uchar.h> missing

Revision 1.15: download - view: text, markup, annotated - select for diffs
Wed Aug 14 23:32:31 2024 UTC (3 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +12 -12 lines
tests/lib/libc/locale/Makefile: Sort.

No functional change intended.

Preparation for PR lib/52374.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Nov 27 19:45:36 2023 UTC (12 months, 1 week ago) by christos
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -1 lines
Don't use fmtcheck for strfmon format strings. It does not work. Fix a broken
test.

Revision 1.12.4.1: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:05:26 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12: +2 -1 lines
Mostly merge changes from HEAD upto 20200411

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun Jul 28 13:46:45 2019 UTC (5 years, 4 months ago) by christos
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Branch point for: netbsd-10
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +2 -1 lines
PR/54414: Valery Ushakov: add a test for wcsrtombs(3) doesn't update the
source argument on conversion error

Revision 1.9.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 29 11:51:50 2017 UTC (7 years, 3 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Diff to: previous 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9: +2 -1 lines
Pull up following revision(s) (requested by joerg in ticket #215):
	tests/lib/libc/locale/t_strfmon.c: revision 1.1
	tests/lib/libc/locale/Makefile: revision 1.12
	lib/libc/stdlib/strfmon.c: revision 1.11
	distrib/sets/lists/debug/mi: revision 1.224
	include/monetary.h: revision 1.3
	distrib/sets/lists/tests/mi: revision 1.761
	lib/libc/stdlib/strfmon.3: revision 1.6
	lib/libc/stdlib/strfmon.3: revision 1.7
Add missing strfmon_l. Noticed by Bruno Haible. Add test case.
Typo fix.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Wed Aug 16 13:53:20 2017 UTC (7 years, 3 months ago) by joerg
Branches: MAIN
CVS tags: phil-wifi-base, phil-wifi-20190609, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat
Branch point for: phil-wifi
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -1 lines
Add missing strfmon_l. Noticed by Bruno Haible. Add test case.

Revision 1.10.2.2: download - view: text, markup, annotated - select for diffs
Sun Jul 23 19:16:11 2017 UTC (7 years, 4 months ago) by perseant
Branches: perseant-stdc-iso10646
Diff to: previous 1.10.2.1: preferred, colored; branchpoint 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10.2.1: +1 -1 lines
Add Unicode copyright notice and more verbose DUCET test.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Jul 23 18:51:21 2017 UTC (7 years, 4 months ago) by perseant
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -1 lines
Add missing files from last commit:

Move Unicode <-> ku/ten mapping into the individual codec modules.
Mapping is based on existing iconv data for single-byte encodings,
and included for several, but not all, multibyte encodings.

Revision 1.10.2.1: download - view: text, markup, annotated - select for diffs
Fri Jul 14 15:53:08 2017 UTC (7 years, 4 months ago) by perseant
Branches: perseant-stdc-iso10646
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -1 lines
Initial commit of a mostly-working implementation of __STDC_ISO_10646__,
with collation support using the Unicode Collation Algorithm.

The conversion from men/ku/ten form to Unicode is a gross hack at present.
Fixing this, and fleshing out the LC_COLLATE locale component, are next
on the agenda.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Fri Jul 14 14:57:43 2017 UTC (7 years, 4 months ago) by perseant
Branches: MAIN
CVS tags: perseant-stdc-iso10646-base
Branch point for: perseant-stdc-iso10646
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -1 lines
Add a simple collation test.  This test is expected to fail on HEAD since
we do not yet have a working implementation of wcscoll.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Jun 1 15:45:02 2017 UTC (7 years, 6 months ago) by perseant
Branches: MAIN
CVS tags: netbsd-8-base
Branch point for: netbsd-8
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +5 -2 lines
Add tests for btowc(3)/wctob(3) and enable compilation of the test for
digittoint(3).

The digittoint(3) test is skipped since we don't provide that function yet.

One of the test cases for btowc(3) is also skipped, since it tests conversion
to Unicode---whereas our wchar_t representation is locale-dependent.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Tue May 30 23:44:02 2017 UTC (7 years, 6 months ago) by perseant
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +4 -1 lines
Add test cases for sprintf/sscanf/strto{d,l} and the is* and isw* ctype functions, for single-byte encodings

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue May 30 02:11:03 2017 UTC (7 years, 6 months ago) by perseant
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -1 lines
Add simple test case for toupper/tolower

Revision 1.3.2.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:42:20 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.3.2.1: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.2.1: +3 -1 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.4.6.1: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:28:56 2013 UTC (11 years, 5 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +3 -1 lines
resync from head

Revision 1.6: download - view: text, markup, annotated - select for diffs
Tue May 28 16:57:56 2013 UTC (11 years, 6 months ago) by joerg
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -1 lines
Add mbsnrtowcs and wcsnrtombs. Approved by core.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Feb 28 21:52:02 2013 UTC (11 years, 9 months ago) by christos
Branches: MAIN
CVS tags: agc-symver-base, agc-symver
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -1 lines
regression tests for wide char i/o. Currently there are failures.

Revision 1.3.2.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:09:11 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +4 -1 lines
sync with head

Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Nov 21 23:50:45 2011 UTC (13 years ago) by joerg
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: tls-maxphys
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +4 -1 lines
Add test cases for strcspn, strpbrk, strspn, wcscspn, wcspbrk and
wcsspn.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Jul 15 07:35:21 2011 UTC (13 years, 4 months ago) by jruoho
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base
Branch point for: yamt-pagecache
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +3 -3 lines
Rename two test files to get functional scope (and avoid confusion
with ctype(3)). No functional change.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Apr 11 17:16:43 2011 UTC (13 years, 7 months ago) by tron
Branches: MAIN
CVS tags: cherry-xenmp-base, cherry-xenmp
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -1 lines
Fix build with stack smash protection enabled.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sat Apr 9 17:45:25 2011 UTC (13 years, 8 months ago) by pgoyette
Branches: MAIN
atf-ify the various locale tests

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>