Branch
Hash :
6fafa36c
Author :
Date :
2025-02-16T22:32:02
strcasecmp_l: New module. * lib/strings.in.h: Include <locale.h>. (strcasecmp_l): New declaration. * lib/strcasecmp_l.c: New file, based on lib/strcasecmp.c. * m4/strcasecmp_l.m4: New file. * m4/strings_h.m4 (gl_STRINGS_H): Test for strcasecmp_l. (gl_STRINGS_H_REQUIRE_DEFAULTS): Initialize GNULIB_STRCASECMP_L. (gl_STRINGS_H_DEFAULTS): Initialize HAVE_STRCASECMP_L, REPLACE_STRCASECMP_L. * modules/strings-h (Makefile.am): Substitute GNULIB_STRCASECMP_L, HAVE_STRCASECMP_L, REPLACE_STRCASECMP_L. * modules/strcasecmp_l: New file. * tests/test-strings-h-c++.cc: Check declaration of strcasecmp_l. * doc/posix-functions/strcasecmp_l.texi: Mention the new module and the macOS, Solaris, Cygwin bugs.
@node strcasecmp_l
@subsection @code{strcasecmp_l}
@findex strcasecmp_l
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/strcasecmp_l.html}
Gnulib module: strcasecmp_l
@mindex strcasecmp_l
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on many platforms:
FreeBSD 9.0, NetBSD 10.0, OpenBSD 6.1, Minix 3.3.0, AIX 6.1, HP-UX 11, Solaris 11.3, Cygwin 2.5.x, mingw, MSVC 14, Android 5.1.
@item
This function is declared in @code{<string.h>} instead of @code{<strings.h>}
on some platforms:
glibc 2.9, macOS 15.
@item
This function uses the case mappings of a wrong locale on some platforms:
Solaris 11.4, Cygwin 3.5.6.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@end itemize