On 2026-05-30 11:40, ASSI via Cygwin wrote:
Thomas Wolff via Cygwin writes:
The patch is already on the newlib mailing list.

        [PATCH] wchar.h: tweak wcwidth prototype parameter wchar_t -> wint_t

The input parameter is supposed to be wchar_t, not wint_t (per POSIX and
also the previous implementation), so I'd leave that alone.

Yeah, I forgot to type-extend also the include file back in 2018 :-(
but that made no difference so far, only now in gcc 16, as explained
by Drea in that issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125451#c16

Just pun the type in the stub implementation, which would automatically
happen (I think) since there's already an assignment of the input
parameter from the POSIX wcwidth (wchar_t) to a local variable that has
type wint_t.  And since that's not a function call but an assignment,
the promotion rules should be correct for your application without any
cast.

Both the man doc and definition in newlib/libc/string/wcwidth.c need
wcwidth (wint_t) changed to the POSIX 8 SUS V5 specified wcwidth (wchar_t);
newlib/libc/include/wchar.h is quite correct and okay as is!

        https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcwidth.html

The standard definition prohibits WEOF, but allows null, non-spacing, or printable wide-character codes, corresponding to a valid character in the current locale, to be passed.
POSIX return codes are defined differently from __wcwidth results.
No errors are defined, and on valid input, errno is not changed.

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                -- Antoine de Saint-Exupéry

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to