[Bug 289370] wcsxfrm() fails with EINVAL for some characters

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 08 Sep 2025 17:17:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289370

--- Comment #3 from Serhiy Storchaka <storchaka@gmail.com> ---
This note says nothing about possibility of failure, it only implies that
wcsxfrm() can return a result that does not take the locale collation into
account.

wcsxfrm() fails also for single-byte LC_CTYPE locales:

```
$ LC_ALL=en_US.ISO8859-1 ./wcsxfrm-test
U+00C5
$ LC_ALL=el_GR.ISO8859-7 ./wcsxfrm-test 
U+00B6
U+00B8
U+00B9
U+00BA
U+00BC
U+00BE
U+00BF
U+00C0
U+00DC
U+00DD
U+00DE
U+00DF
U+00E0
U+00FC
U+00FD
U+00FE
```

And I think this note is outdated. I don't know exactly when, but the function
has been returning the result that makes string "à" less than string "b" on
UTF-8 locales (it is opposite on the Posix locale, where it is equivalent to
simple copy).

-- 
You are receiving this mail because:
You are the assignee for the bug.