summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-04-19 17:59:03 +0200
committerBruno Haible <bruno@clisp.org>2023-04-19 17:59:03 +0200
commitccb59e4c36bea4915303a24ea1c7dec109db97eb (patch)
tree30eb5e84cca4b21d1a18982cd5676fe80aaed08e /doc
parent9bf6bcc74b4caf4d74bab8d98a4e00f761f2e5ca (diff)
downloadgnulib-ccb59e4c36bea4915303a24ea1c7dec109db97eb.tar.gz
wcsncmp: Work around two ISO C compliance bugs on several platforms.
* lib/wchar.in.h (wcsncmp): Consider REPLACE_WCSNCMP. * lib/wcsncmp-impl.h (wcsncmp): Don't assume that the two wide characters are in the range 0..INT_MAX. * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Test whether wcsncmp works for all wide characters. Set REPLACE_WCSNCMP. * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNCMP. * modules/wchar (Makefile.am): Substitute REPLACE_WCSNCMP. * modules/wcsncmp (Status, Notice): Un-obsolete this module. (configure.ac): Consider REPLACE_WCSNCMP. * doc/posix-functions/wcsncmp.texi: Mention the two bugs.
Diffstat (limited to 'doc')
-rw-r--r--doc/posix-functions/wcsncmp.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/doc/posix-functions/wcsncmp.texi b/doc/posix-functions/wcsncmp.texi
index b6282606ed..46874af46f 100644
--- a/doc/posix-functions/wcsncmp.texi
+++ b/doc/posix-functions/wcsncmp.texi
@@ -8,6 +8,14 @@ Gnulib module: wcsncmp
Portability problems fixed by Gnulib:
@itemize
+@item
+This function compares the wide characters as if they were unsigned, although
+@code{wchar_t} is signed, on some platforms:
+glibc 2.14.1 on x86 or x86_64, musl libc 1.2.3, macOS 12.5, FreeBSD 13.2, NetBSD 9.0, OpenBSD 7.2, Solaris 11.4.
+@item
+This function may return a wrong result if the two arguments are of different
+length, on some platforms:
+AIX 7.2 in 64-bit mode.
@end itemize
Portability problems not fixed by Gnulib: