Log

Author Commit Date CI Message
Bruno Haible 78c7fe8a 2025-03-10T17:28:33 quotearg: Avoid undefined behaviour. Reported by Kirill Furman <kfurman@astralinux.ru> in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00037.html>. * lib/quotearg.c (set_char_quoting): Use 'unsigned int', not 'int', for doing bit mask operations.
Bruno Haible 69cbf3e2 2025-03-10T06:23:06 getlogin, getlogin_r: Document limitation. Reported by Nicolas Boos <nicolas.boos@wanadoo.fr> in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00033.html>. * doc/posix-functions/getlogin.texi: Mention the "different user names with same uid" limitation. * doc/posix-functions/getlogin_r.texi: Likewise.
Bruno Haible 0bca5720 2025-03-09T10:19:20 getlogin_r: Work around musl bug. * lib/getlogin_r.c (getlogin_r): Add implementation for Linux. * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r has the musl bug. * tests/test-getlogin_r.c (main): Add another test. * doc/posix-functions/getlogin_r.texi: Mention the workaround.
Bruno Haible 90840606 2025-03-09T10:16:58 getlogin: Work around musl bug. * lib/unistd.in.h (getlogin): Consider REPLACE_GETLOGIN. * lib/getlogin.c: Change license header to GPL. (getlogin): Add implementation for Linux. * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Test whether getlogin works. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN. * modules/unistd-h (Makefile.am): Substitute REPLACE_GETLOGIN. * modules/getlogin (Depends-on): Add readutmp. (configure.ac): Consider REPLACE_GETLOGIN. (License): Change to GPL. * tests/test-getlogin.c (main): Add another test. * doc/posix-functions/getlogin.texi: Mention the workaround.
Paul Eggert 2a60c939 2025-03-08T15:36:33 getlogin: document musl bug Problem reported by Nicolas Boos <https://bugs.gnu.org/76876>.
Bruno Haible de9671e9 2025-03-08T04:08:10 gocomp-script: Avoid error on native Windows. * build-aux/gocomp.sh.in: Unset CC and CXX.
Bruno Haible 1ddf5076 2025-03-06T23:56:01 gocomp-script: New module. * m4/gocomp.m4: New file. * build-aux/gocomp.sh.in: New file. * modules/gocomp-script: New file.
Collin Funk 7029d554 2025-03-04T21:45:58 getaddrinfo: Fix AI_NUMERICSERV configure check on GCC 14 (regr. 2025-02-12). * m4/getaddrinfo.m4 (gl_GETADDRINFO): Define a pointer to pass to getaddrinfo where it allocates and stores the result.
Bruno Haible ac9dd004 2025-03-03T22:02:04 doc: Update publication recipe. * doc/README: Update publication commands.
Simon Josefsson 62161401 2025-03-03T21:08:01 doc: Document upcoming Gnulib Git Bundle. * doc/gnulib.texi (Miscellaneous Notes): Add sub-section "Gnulib Git Bundle". * doc/gnulib-git-bundle.texi: New file.
Bruno Haible b76cdfe1 2025-03-03T20:41:41 vasprintf-posix, vasprintf-gnu: Fix module description. Reported by Vivien Kraus <vivien@planete-kraus.eu> in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00009.html>. * modules/vasprintf-posix (Include): Change to <stdio.h>. * modules/vasprintf-gnu (Include): Likewise.
Bruno Haible a150644b 2025-03-01T15:59:29 package-version: Improve wording in './configure --help'. Reported by Benno Schulenberg <bensberg@telfort.nl> in <https://lists.gnu.org/archive/html/bug-gettext/2025-03/msg00000.html>. * doc/package-version.texi: Recommend a dummy version number named 'package', not 'dummy'. * m4/init-package-version.m4: Update comments accordingly. * build-aux/git-version-gen: Likewise.
Bruno Haible 6686c547 2025-02-28T09:00:55 vc-mtime: Fix module description. Reported by Vivien Kraus <vivien@planete-kraus.eu> in <https://lists.gnu.org/archive/html/bug-gnulib/2025-02/msg00174.html>. * modules/vc-mtime (Include): Fix typo.
Bruno Haible f703b543 2025-02-25T09:04:45 csharpcomp: Reduce number of read() system calls. * lib/csharpcomp.c: Include <stddef.h>. (compile_csharp_using_dotnet): Read bytes into a buffer, not one-by-one.
Bruno Haible 60cd3488 2025-02-25T09:04:28 vc-mtime: Reduce number of read() system calls. * lib/vc-mtime.c: Include <stddef.h>. (git_vc_controlled): Read bytes into a buffer, not one-by-one.
Bruno Haible 399d9dce 2025-02-25T09:19:52 vc-mtime: Improve comment. Suggested by Paul Eggert. * lib/vc-mtime.c (git_mtime): Clarify CommitDate vs. AuthorDate.
Bruno Haible 701d20aa 2025-02-24T19:03:17 vc-mtime: New module. * lib/vc-mtime.h: New file. * lib/vc-mtime.c: New file. * modules/vc-mtime: New file.
Bruno Haible 931d2b1d 2025-02-24T11:12:23 nl_langinfo: Support abbreviated alternative month names on FreeBSD. * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): If HAVE_LANGINFO_ABALTMON is 0, set REPLACE_NL_LANGINFO to 1.
Bruno Haible a47068d8 2025-02-24T09:24:45 getlocalename_l-unsafe: Fix compilation error on OpenBSD, AIX. * modules/getlocalename_l-unsafe (configure.ac): Add module indicator. * m4/locale_h.m4 (gl_LOCALE_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETLOCALENAME_L_UNSAFE. * modules/locale-h (Makefile.am): Substitute GNULIB_GETLOCALENAME_L_UNSAFE. * lib/locale.in.h (newlocale, duplocale, freelocale): Test the module indicator of 'getlocalename_l-unsafe', not the module indicator of 'getlocalename_l'.
Bruno Haible 03354a21 2025-02-24T08:34:15 nl_langinfo: Fix support of abbreviated alternative month names. * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ABALTMON_i like ABMON_i.
Bruno Haible aca44006 2025-02-24T08:07:40 strerror_l tests: Fix link error. * modules/strerror_l-tests (Makefile.am): Link the test program with LIBINTL.
Bruno Haible b8f9df90 2025-02-22T18:39:21 localename-unsafe-limited: Use getlocalename_l-unsafe-limited. * modules/localename-unsafe-limited (Depends-on): Add getlocalename_l-unsafe-limited. Remove getlocalename_l-unsafe.
Bruno Haible 05721dc8 2025-02-22T18:35:37 getlocalename_l-unsafe-limited: New module. * modules/getlocalename_l-unsafe-limited: New file. * modules/getlocalename_l-unsafe (Depends-on): Add getlocalename_l-unsafe-limited. (Makefile.am): Don't compile getlocalename_l-unsafe.c if already compiled as part of module 'getlocalename_l-unsafe-limited'.
Bruno Haible 6e463f6c 2025-02-22T18:18:53 localename-unsafe: Use getlocalename_l-unsafe. * lib/localename-unsafe.c: Include getlocalename_l-unsafe.h. (gl_locale_name_thread_unsafe): Invoke getlocalename_l_unsafe instead of getlocalename_l. * modules/localename-unsafe (Depends-on): Add getlocalename_l-unsafe. Remove getlocalename_l-simple. * modules/localename-unsafe-limited (Depends-on): Likewise.
Bruno Haible 81ee5a4e 2025-02-22T18:11:38 getlocalename_l-unsafe: New module. * lib/getlocalename_l-unsafe.h: New file, based on lib/getlocalename_l.c. * lib/getlocalename_l-unsafe.c: New file. * lib/getlocalename_l.c: Most code moved to lib/getlocalename_l-unsafe.c. (getlocalename_l): Implement based on getlocalename_l_unsafe. * m4/getlocalename_l.m4 (gl_FUNC_GETLOCALENAME_L_UNSAFE, gl_PREREQ_GETLOCALENAME_L_UNSAFE): New macros. (gl_FUNC_GETLOCALENAME_L_SIMPLE): Require gl_FUNC_GETLOCALENAME_L_UNSAFE. (gl_PREREQ_GETLOCALENAME_L_SIMPLE): Now empty. * modules/getlocalename_l-unsafe: New file. * modules/getlocalename_l-simple (Files): Remove lib/localename-table.h, lib/localename-table.c, m4/intl-thread-locale.m4. (Depends-on): Add getlocalename_l-unsafe. Remove setlocale-messages, setlocale-null, free-posix. (Makefile.am): Don't compile localename-table.c.
Bruno Haible 6e6eb216 2025-02-21T19:26:23 langinfo-h, nl_langinfo: Support abbreviated alternative month names. * lib/langinfo.in.h (ABALTMON_1...ABALTMON_12): New macros. * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ABALTMON. * modules/langinfo-h (Makefile.am): Substitute HAVE_LANGINFO_ABALTMON. * tests/test-langinfo-h.c (items): Add ABALTMON_1 to ABALTMON_12. * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ABALTMON_i like ABMON_i. * tests/test-nl_langinfo.c (main): Test ABALTMON_*. * doc/posix-headers/langinfo.texi: Document support of ABALTMON_*. * doc/posix-functions/nl_langinfo.texi: Likewise.
Bruno Haible 02e566e8 2025-02-21T18:42:22 langinfo-h tests: Verify that ALTMON_* are defined. * tests/test-langinfo-h.c (items): Add ALTMON_1 to ALTMON_12.
Bruno Haible 5986effe 2025-02-21T11:38:35 host-cpu-c-abi: Improve support for loongarch32. Reported by <wuruilong@loongson.cn> in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098478> via Simon Josefsson. * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Prepare template for __loongarch32__ in config.h. (gl_HOST_CPU_C_ABI_32BIT): Speed up the configure test on loongarch*.
Bruno Haible e3466db8 2025-02-21T11:25:54 getlocalename_l-simple: Add tests. * tests/test-getlocalename_l.c: New file. * modules/getlocalename_l-simple-tests: New file.
Bruno Haible 706178a9 2025-02-21T11:25:51 getlocalename_l-simple: New module. * lib/locale.in.h (newlocale, duplocale, freelocale): Now enabled by module 'getlocalename_l-simple'. (getlocalename_l): New declaration. * lib/getlocalename_l.c: New file, based on lib/localename-unsafe.c, with modifications for glibc systems, NetBSD, OpenBSD, Android. * lib/localename-table.h (LCMIN): New macro. * lib/struniq.h: Update a comment. * lib/localename-unsafe.c: Don't define the LOCALENAME_ENHANCE_LOCALE_FUNCS overrides here. Moved to lib/getlocalename_l.c. (gl_locale_name_thread_unsafe): Invoke getlocalename_l. Previous code moved to lib/getlocalename_l.c. * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Improve support for OpenBSD: Set gt_nameless_locales to yes and gt_localename_enhances_locale_funcs to yes also when $gt_fake_locales is yes. * m4/getlocalename_l.m4: New file, based on m4/localename.m4. * m4/localename.m4 (gl_LOCALENAME_UNSAFE, gl_LOCALENAME_UNSAFE_LIMITED): Remove code that was moved to m4/getlocalename_l.m4. * m4/locale_h.m4 (gl_LOCALE_H): Test whether getlocalename_l is declared. (gl_LOCALE_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETLOCALENAME_L. (gl_LOCALE_H_DEFAULTS): Initialize HAVE_GETLOCALENAME_L. * modules/locale-h (Makefile.am): Substitute GNULIB_GETLOCALENAME_L, HAVE_GETLOCALENAME_L. * modules/getlocalename_l-simple: New file. * modules/localename-unsafe (Files): Remove lib/localename-table.h, lib/localename-table.c, lib/struniq.h. (Depends-on): Add getlocalename_l-simple. Remove bool, flexmember, free-posix, langinfo-h, thread-optim. (Makefile.am): Don't compile localename-table.c. * modules/localename-unsafe-limited (Depends-on): Add getlocalename_l-simple. * modules/newlocale (Link): New section. * modules/duplocale (Link): Link with $(GETLOCALENAME_L_LIB). * modules/freelocale (Link): New section. * modules/newlocale-tests (Makefile.am): Link the test program with $(GETLOCALENAME_L_LIB). * modules/duplocale-tests (Makefile.am): Likewise. * modules/freelocale-tests (Makefile.am): Likewise. * modules/is*_l-tests (Makefile.am): Likewise. * modules/tolower_l-tests (Makefile.am): Likewise. * modules/toupper_l-tests (Makefile.am): Likewise. * modules/strcasecmp_l-tests (Makefile.am): Likewise. * modules/strncasecmp_l-tests (Makefile.am): Likewise. * modules/strerror_l-tests (Makefile.am): Likewise. * doc/posix-functions/getlocalename_l.texi: Mention the new module.
Bruno Haible 7f5440ed 2025-02-21T09:31:12 setlocale-messages: New module. * lib/setlocale-messages.h: New file. * lib/setlocale-messages.c: New file, based on lib/setlocale.c. * modules/setlocale-messages: New file. * lib/setlocale.c: Include setlocale-messages.h. (lc_messages_name): Remove variable. (setlocale_single): Just invoke setlocale_messages. * modules/setlocale (Depends-on): Add setlocale-messages.
Bruno Haible e019edd0 2025-02-21T08:37:16 localename-unsafe: Remove dead code. * lib/localename-unsafe.c (gl_locale_name_thread_unsafe): On Solaris, assume HAVE_NAMELESS_LOCALES is undefined.
Bruno Haible 329877ac 2025-02-21T08:37:10 localename-unsafe: Remove support for nonexistent Solaris 12. * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Remove test for getlocalename_l. * lib/localename-unsafe.c: Ignore HAVE_GETLOCALENAME_L.
Bruno Haible 6367a228 2025-02-21T08:29:45 setlocale: Relicense under LGPLv2+. * modules/setlocale (License): Change to LGPLv2+. * lib/setlocale.c: Update license notice.
Bruno Haible e21236c3 2025-02-20T16:09:49 *_l: Fix mistake. * lib/is_l-impl.h (FUNC): Fix array index on old NetBSD and OpenBSD. * lib/to_l-impl.h (FUNC): Likewise. * lib/strcasecmp_l.c (strcasecmp_l): Likewise. * lib/strncasecmp_l.c (strncasecmp_l): Likewise. * lib/strerror_l.c (strerror_l_r): Likewise.
Bruno Haible 757345e8 2025-02-19T23:46:37 readutmp: Let callers distinguish LOGINs from USERs. Reported by Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2025-02/msg00123.html>. * lib/readutmp.h (LOGIN_PROCESS, UT_TYPE_LOGIN_PROCESS): New macros. * lib/readutmp.c (read_utmp_from_systemd): Possibly use LOGIN_PROCESS instead of USER_PROCESS, depending on the session's class.
Bruno Haible 66d32ced 2025-02-18T12:22:30 strerror_l: Add tests. * tests/test-strerror_l.c: New file. * modules/strerror_l-tests: New file.
Bruno Haible 7f279c82 2025-02-18T12:20:41 strerror_l: New module. * lib/string.in.h: Include <locale.h>. (strerror_l, strerror_l_r): New declarations. * lib/strerror_l.c: New file. * m4/strerror_l.m4: New file. * m4/string_h.m4 (gl_STRING_H): Test for strerror_l. (gl_STRING_H_REQUIRE_DEFAULTS): Initialize GNULIB_STRERROR_L. (gl_STRING_H_DEFAULTS): Initialize HAVE_STRERROR_L, REPLACE_STRERROR_L. * modules/string-h (Makefile.am): Substitute GNULIB_STRERROR_L, HAVE_STRERROR_L, REPLACE_STRERROR_L. * modules/strerror_l: New file. * tests/test-string-h-c++.cc: Check declaration of strerror_l. * doc/posix-functions/strerror_l.texi: Mention the new module.
Bruno Haible 1108ef76 2025-02-18T12:11:29 errno-iter: New module. * lib/errno-iter.h: New file. * lib/errno-iter.c: New file, based on lib/strerrorname_np.c. * modules/errno-iter: New file.
Bruno Haible 4cba83c6 2025-02-18T12:03:37 at-init: Add tests. * tests/test-at-init.sh: New file. * tests/test-at-init.c: New file. * tests/test-at-init-2.c: New file. * tests/test-at-init-3.c: New file. * modules/at-init-tests: New file.
Bruno Haible 2ae8e3fa 2025-02-18T12:01:59 at-init: New module. * lib/at-init.h: New file. * lib/at-init.c: New file. * modules/at-init: New file.
Paul Eggert dd9572a4 2025-02-17T14:15:37 fts: expose fts_debug * lib/fts_.h (fts_debug) [GNULIB_FTS_DEBUG]: New decl. Coreutils was accessing this by the back door; let’s make it public.
Paul Eggert 701b0b60 2025-02-17T14:14:07 crc-tests: use consistent type for randomb * tests/randomb.c (randomb): Now array of char, not unsigned char, since callers all want char. All uses changed.
Bruno Haible 42792a51 2025-02-17T13:08:38 readutmp, boot-time: Improve documentation. * DEPENDENCIES: Mention requirements of 'readutmp' and 'boot-time'.
Bruno Haible 1e042139 2025-02-17T12:03:37 getaddrinfo tests: Skip test cases that may fail on Debian 12. * tests/test-getaddrinfo.c (main): Skip some test cases on glibc.
Bruno Haible 515d5b58 2025-02-17T08:26:28 strncasecmp_l: Fix replacement implementation. * lib/strncasecmp_l.c (strncasecmp_l): Use tolower_l, not tolower.
Bruno Haible 439b7f4d 2025-02-17T08:11:57 strcasecmp, strncasecmp: Fix compilation error on MSVC. * modules/strcasecmp (configure.ac): Invoke gl_STRINGS_MODULE_INDICATOR. * modules/strncasecmp (configure.ac): Likewise.
Bruno Haible 8685bf61 2025-02-17T07:34:23 getaddrinfo tests: Make failures more verbose. * tests/test-getaddrinfo.c (simple): Print some info before returning 1.
Collin Funk 5662b5ee 2025-02-16T13:58:35 doc: Adjust platforms that define O_CLOEXEC in unistd.h. Suggested by Bruno Haible. * posix-headers/unistd.texi: Mention that macOS 12 and AIX 7.3 do not define O_CLOEXEC in this header. Remove redundant MSVC.
Bruno Haible bc89c9cf 2025-02-16T22:32:37 strncasecmp_l: Add tests. * tests/test-strncasecmp_l.c: New file. * modules/strncasecmp_l-tests: New file.
Bruno Haible b2bf05b1 2025-02-16T22:32:33 strncasecmp_l: New module. * lib/strings.in.h (strncasecmp_l): New declaration. * lib/strncasecmp_l.c: New file, based on lib/strncasecmp.c. * m4/strncasecmp_l.m4: New file. * m4/strings_h.m4 (gl_STRINGS_H): Test for strncasecmp_l. (gl_STRINGS_H_REQUIRE_DEFAULTS): Initialize GNULIB_STRNCASECMP_L. (gl_STRINGS_H_DEFAULTS): Initialize HAVE_STRNCASECMP_L, REPLACE_STRNCASECMP_L. * modules/strings-h (Makefile.am): Substitute GNULIB_STRNCASECMP_L, HAVE_STRNCASECMP_L, REPLACE_STRNCASECMP_L. * modules/strncasecmp_l: New file. * tests/test-strings-h-c++.cc: Check declaration of strncasecmp_l. * doc/posix-functions/strncasecmp_l.texi: Mention the new module and the macOS, Solaris, Cygwin bugs.
Bruno Haible 9b269e66 2025-02-16T22:32:19 strcasecmp_l: Add tests. * tests/test-strcasecmp_l.c: New file. * modules/strcasecmp_l-tests: New file.
Bruno Haible 6fafa36c 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.
Collin Funk 3b564fec 2025-02-16T12:29:36 unistd-h tests: Check that unistd.h defines O_CLOEXEC. * tests/test-unistd-h.c: Prefer #error to emitting a syntax error. Check that O_CLOEXEC is defined.
Collin Funk 10331a8b 2025-02-16T12:23:57 unistd-h: Make sure O_CLOEXEC is defined. * modules/unistd-h (Depends-on): Add fcntl-h. * lib/unistd.in.h: Include fcntl.h if inclusion of unistd.h does not define O_CLOEXEC. * doc/posix-headers/unistd.texi: Document the platforms that do not define O_CLOEXEC in unistd.h.
Bruno Haible a8fa6e63 2025-02-16T19:32:54 strcasecmp, strncasecmp: Work around Solaris, Cygwin bug, part 3. * m4/strings_h.m4 (gl_STRINGS_H_DEFAULTS): Fix initializations.
Bruno Haible ff91cd3c 2025-02-16T18:42:44 strncasecmp: Work around Solaris, Cygwin bug, part 2. * lib/strings.in.h (strcasecmp, strncasecmp): Fix mistake in previous commit.
Bruno Haible 0a9ad49f 2025-02-16T18:24:16 strncasecmp: Add tests. * tests/test-strncasecmp-1.sh: New file. * tests/test-strncasecmp-2.sh: New file. * tests/test-strncasecmp.c: New file. * modules/strncasecmp-tests: New file.
Bruno Haible 557f0e49 2025-02-16T18:22:31 strncasecmp: Work around Solaris, Cygwin bug. * lib/strings.in.h (strncasecmp): Consider REPLACE_STRNCASECMP. Use the usual idioms. * m4/strings_h.m4 (gl_STRINGS_H_DEFAULTS): Initialize HAVE_STRNCASECMP, REPLACE_STRNCASECMP. * m4/strncasecmp.m4 (gl_FUNC_STRNCASECMP): Invoke gl_STRNCASECMP_WORKS. Set REPLACE_STRNCASECMP. Assume that HAVE_STRNCASECMP is initialized. * modules/strncasecmp (Files): Add m4/strcasecmp.m4. (configure.ac): Consider REPLACE_STRNCASECMP. * modules/strings-h (Makefile.am): Substitute HAVE_STRNCASECMP, REPLACE_STRNCASECMP. * doc/posix-functions/strncasecmp.texi: Mention the Solaris, Cygwin bug.
Bruno Haible fc6bec11 2025-02-16T18:02:00 strcasecmp: Add tests. * tests/test-strcasecmp-1.sh: New file. * tests/test-strcasecmp-2.sh: New file. * tests/test-strcasecmp.c: New file. * modules/strcasecmp-tests: New file.
Bruno Haible 9980b9e5 2025-02-16T17:59:48 strcasecmp: Work around Solaris, Cygwin bug. * lib/strings.in.h (strcasecmp): Consider REPLACE_STRCASECMP. Use the usual idioms. * m4/strings_h.m4 (gl_STRINGS_H_DEFAULTS): Initialize REPLACE_STRCASECMP. * m4/strcasecmp.m4 (gl_STRCASECMP_WORKS): New macro. (gl_FUNC_STRCASECMP): Invoke it. Set REPLACE_STRCASECMP. * modules/strcasecmp (configure.ac): Consider REPLACE_STRCASECMP. * modules/strings-h (Makefile.am): Substitute REPLACE_STRCASECMP. * doc/posix-functions/strcasecmp.texi: Mention the Solaris, Cygwin bug.
Bruno Haible 6abed08f 2025-02-16T14:12:26 strcasecmp, strncasecmp: Fix header reference. * lib/strcasecmp.c: Include <strings.h>, not <string.h>. * lib/strncasecmp.c: Likewise.
Bruno Haible 183cdca2 2025-02-16T15:46:06 realloc: Fix link error in C++ mode on CentOS 5 (regression 2024-11-04). * lib/stdlib.in.h (rpl_realloc): Ensure C linkage, not C++ linkage, in C++ mode.
Bruno Haible f656293f 2025-02-16T13:02:25 c-strcasecmp, c-strncasecmp: New modules. * modules/c-strcasecmp: New file. * modules/c-strncasecmp: New file. * modules/c-strcase: Merely depend on c-strcasecmp, c-strncasecmp. * lib/strings.in.h (strcasecmp, strncasecmp): Update warning message. * tests/test-c-strcasecmp.sh: New file, based on tests/test-c-strcase.sh. * tests/test-c-strncasecmp.sh: New file, based on tests/test-c-strcase.sh. * tests/test-c-strcase.sh: Remove file. * modules/c-strcasecmp-tests: New file. * modules/c-strncasecmp-tests: New file. * modules/c-strcase-tests: Remove file. * doc/c-strcasecmp.texi: New file, based on doc/c-strcase.texi. * doc/c-strncasecmp.texi: New file, based on doc/c-strcase.texi. * doc/c-strcase.texi: Remove file. * doc/c-locale.texi: Include c-strcasecmp.texi and c-strncasecmp.texi separately. * modules/c-strcaseeq (Depends-on): Add c-strcasecmp. Remove c-strcase. * modules/iconv_open (Depends-on): Likewise. * modules/nl_langinfo-tests (Depends-on): Likewise. * modules/propername (Depends-on): Likewise. * modules/propername-lite (Depends-on): Likewise. * modules/striconv (Depends-on): Likewise. * modules/striconveh (Depends-on): Likewise. * modules/striconveha (Depends-on): Likewise. * modules/c-strcasestr (Depends-on): Add c-strncasecmp. Remove c-strcase.
Bruno Haible c17d70aa 2025-02-16T12:30:58 strings-h: Don't declare strcasecmp, strncasecmp without the module. * lib/strings.in.h (strcasecmp): Don't declare if module 'strcasecmp' is not present. (strncasecmp): Don't declare if module 'strncasecmp' is not present. * m4/strings_h.m4 (gl_STRINGS_H_REQUIRE_DEFAULTS): Initialize GNULIB_STRCASECMP, GNULIB_STRNCASECMP. * modules/strings-h (Makefile.am): Substitute GNULIB_STRCASECMP, GNULIB_STRNCASECMP.
Bruno Haible b2927d1b 2025-02-16T12:21:53 strcasecmp, strncasecmp: New modules. * modules/strcasecmp: New file. * modules/strncasecmp: New file. * modules/strcase: Merely depend on strcasecmp, strncasecmp. * m4/strcasecmp.m4: New file, based on m4/strcase.m4. * m4/strncasecmp.m4: New file, based on m4/strcase.m4. * m4/strcase.m4: Remove file. * lib/strings.in.h (strcasecmp, strncasecmp): Fix typo in warning message. * lib/strcasecmp.c: Improve comment. * lib/strncasecmp.c: Likewise. * doc/posix-functions/strcasecmp.texi: Mention module strcasecmp, not module strcase. * doc/posix-functions/strncasecmp.texi: Mention module strncasecmp, not module strcase. * doc/strings.texi (Comparison of string APIs): Reference modules strcasecmp, strncasecmp. * modules/argp (Depends-on): Add strcasecmp. Remove strcase. * modules/strcasestr-simple (Depends-on): Add strncasecmp. Remove strcase. * modules/strptime (Depends-on): Likewise.
Bruno Haible 6b6a5ffe 2025-02-16T11:34:23 ctype-h: Make ctype.h self-contained again (regr. 2025-02-14). * lib/ctype.in.h: Add comments re _GL_ARG_NONNULL. * modules/ctype-h (Depends-on): Add snippet/arg-nonnull. (Makefile.am): Substitute $(ARG_NONNULL_H) into ctype.h.
Bruno Haible e319c0fe 2025-02-16T13:43:40 bootstrap: Fix recognition of --depth option with recent git releases. Reported by Benno Schulenberg <bensberg@telfort.nl> in <https://lists.gnu.org/archive/html/bug-gnulib/2025-02/msg00106.html>. * top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): Assume that 'git clone' and 'git fetch' support the --depth option. * build-aux/bootstrap: Regenerated.
Bruno Haible a0b45427 2025-02-16T07:02:50 toupper_l: Add tests. * tests/test-toupper_l.c: New file, based on tests/test-c32toupper.c. * modules/toupper_l-tests: New file.
Bruno Haible 6f828018 2025-02-16T06:55:52 toupper_l: New module. * lib/ctype.in.h: (toupper_l): New declaration. * lib/toupper_l.c: New file. * m4/toupper_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for toupper_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_TOUPPER_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_TOUPPER_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_TOUPPER_L, HAVE_TOUPPER_L. * modules/toupper_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of toupper_l. * doc/posix-functions/toupper_l.texi: Mention the new module.
Bruno Haible 7cb1cb41 2025-02-16T06:46:30 tolower_l: Add tests. * tests/test-tolower_l.c: New file, based on tests/test-c32tolower.c. * modules/tolower_l-tests: New file.
Bruno Haible 0a0d7cdf 2025-02-16T06:45:57 tolower_l: New module. * lib/ctype.in.h: (tolower_l): New declaration. * lib/tolower_l.c: New file. * lib/to_l-impl.h: New file. * m4/tolower_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for tolower_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_TOLOWER_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_TOLOWER_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_TOLOWER_L, HAVE_TOLOWER_L. * modules/tolower_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of tolower_l. * doc/posix-functions/tolower_l.texi: Mention the new module.
Bruno Haible dac38aee 2025-02-15T21:57:10 isxdigit_l: Add tests. * tests/test-isxdigit_l.c: New file, based on tests/test-c32isxdigit.c. * modules/isxdigit_l-tests: New file.
Bruno Haible 38c2e4c1 2025-02-15T21:56:15 isxdigit_l: New module. * lib/ctype.in.h: (isxdigit_l): New declaration. * lib/isxdigit_l.c: New file. * m4/isxdigit_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isxdigit_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISXDIGIT_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISXDIGIT_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISXDIGIT_L, HAVE_ISXDIGIT_L. * modules/isxdigit_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isxdigit_l. * doc/posix-functions/isxdigit_l.texi: Mention the new module.
Bruno Haible 2f95e980 2025-02-15T21:50:42 isupper_l: Add tests. * tests/test-isupper_l.c: New file, based on tests/test-c32isupper.c. * modules/isupper_l-tests: New file.
Bruno Haible d8e0b253 2025-02-15T21:50:08 isupper_l: New module. * lib/ctype.in.h: (isupper_l): New declaration. * lib/isupper_l.c: New file. * m4/isupper_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isupper_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISUPPER_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISUPPER_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISUPPER_L, HAVE_ISUPPER_L. * modules/isupper_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isupper_l. * doc/posix-functions/isupper_l.texi: Mention the new module.
Bruno Haible 5bbad1af 2025-02-15T21:36:49 isspace_l: Add tests. * tests/test-isspace_l.c: New file, based on tests/test-c32isspace.c. * modules/isspace_l-tests: New file.
Bruno Haible d9249901 2025-02-15T21:35:14 isspace_l: New module. * lib/ctype.in.h: (isspace_l): New declaration. * lib/isspace_l.c: New file. * m4/isspace_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isspace_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISSPACE_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISSPACE_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISSPACE_L, HAVE_ISSPACE_L. * modules/isspace_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isspace_l. * doc/posix-functions/isspace_l.texi: Mention the new module.
Bruno Haible 9367b014 2025-02-15T20:43:30 ispunct_l: Add tests. * tests/test-ispunct_l.c: New file, based on tests/test-c32ispunct.c. * modules/ispunct_l-tests: New file.
Bruno Haible 5a811892 2025-02-15T20:42:59 ispunct_l: New module. * lib/ctype.in.h: (ispunct_l): New declaration. * lib/ispunct_l.c: New file. * m4/ispunct_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for ispunct_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISPUNCT_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISPUNCT_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISPUNCT_L, HAVE_ISPUNCT_L. * modules/ispunct_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of ispunct_l. * doc/posix-functions/ispunct_l.texi: Mention the new module.
Bruno Haible 731795e6 2025-02-15T20:11:32 isprint_l: Add tests. * tests/test-isprint_l.c: New file, based on tests/test-c32isprint.c. * modules/isprint_l-tests: New file.
Bruno Haible 90111228 2025-02-15T20:10:53 isprint_l: New module. * lib/ctype.in.h: (isprint_l): New declaration. * lib/isprint_l.c: New file. * m4/isprint_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isprint_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISPRINT_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISPRINT_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISPRINT_L, HAVE_ISPRINT_L. * modules/isprint_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isprint_l. * doc/posix-functions/isprint_l.texi: Mention the new module.
Bruno Haible 63e80fbc 2025-02-15T20:02:23 islower_l: Add tests. * tests/test-islower_l.c: New file, based on tests/test-c32islower.c. * modules/islower_l-tests: New file.
Bruno Haible 7f2b1b71 2025-02-15T20:01:04 islower_l: New module. * lib/ctype.in.h: (islower_l): New declaration. * lib/islower_l.c: New file. * m4/islower_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for islower_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISLOWER_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISLOWER_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISLOWER_L, HAVE_ISLOWER_L. * modules/islower_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of islower_l. * doc/posix-functions/islower_l.texi: Mention the new module.
Bruno Haible 1ca4b115 2025-02-15T19:53:17 isgraph_l: Add tests. * tests/test-isgraph_l.c: New file, based on tests/test-c32isgraph.c. * modules/isgraph_l-tests: New file.
Bruno Haible ef401330 2025-02-15T19:49:54 isgraph_l: New module. * lib/ctype.in.h: (isgraph_l): New declaration. * lib/isgraph_l.c: New file. * m4/isgraph_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isgraph_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISGRAPH_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISGRAPH_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISGRAPH_L, HAVE_ISGRAPH_L. * modules/isgraph_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isgraph_l. * doc/posix-functions/isgraph_l.texi: Mention the new module.
Bruno Haible f6108955 2025-02-15T19:30:24 isdigit_l: Add tests. * tests/test-isdigit_l.c: New file, based on tests/test-c32isdigit.c. * modules/isdigit_l-tests: New file.
Bruno Haible 4204b429 2025-02-15T19:25:49 isdigit_l: New module. * lib/ctype.in.h: (isdigit_l): New declaration. * lib/isdigit_l.c: New file. * m4/isdigit_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isdigit_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISDIGIT_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISDIGIT_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISDIGIT_L, HAVE_ISDIGIT_L. * modules/isdigit_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isdigit_l. * doc/posix-functions/isdigit_l.texi: Mention the new module.
Bruno Haible cc6f9958 2025-02-15T10:58:51 iscntrl_l: Add tests. * tests/test-iscntrl_l.c: New file, based on tests/test-c32iscntrl.c. * modules/iscntrl_l-tests: New file.
Bruno Haible be7df9ec 2025-02-15T10:58:23 iscntrl_l: New module. * lib/ctype.in.h: (iscntrl_l): New declaration. * lib/iscntrl_l.c: New file. * m4/iscntrl_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for iscntrl_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISCNTRL_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISCNTRL_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISCNTRL_L, HAVE_ISCNTRL_L. * modules/iscntrl_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of iscntrl_l. * doc/posix-functions/iscntrl_l.texi: Mention the new module.
Bruno Haible 1ecc2bfc 2025-02-15T10:46:21 isblank_l: Add tests. * tests/test-isblank_l.c: New file, based on tests/test-c32isblank.c. * modules/isblank_l-tests: New file.
Bruno Haible 663152f1 2025-02-15T10:45:48 isblank_l: New module. * lib/ctype.in.h: (isblank_l): New declaration. * lib/isblank_l.c: New file. * m4/isblank_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isblank_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISBLANK_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISBLANK_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISBLANK_L, HAVE_ISBLANK_L. * modules/isblank_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isblank_l. * doc/posix-functions/isblank_l.texi: Mention the new module.
Bruno Haible 0a3ea592 2025-02-15T10:32:11 isalpha_l: Add tests. * tests/test-isalpha_l.c: New file, based on tests/test-c32isalpha.c. * modules/isalpha_l-tests: New file.
Bruno Haible c7be9c20 2025-02-15T10:31:25 isalpha_l: New module. * lib/ctype.in.h: (isalpha_l): New declaration. * lib/isalpha_l.c: New file. * m4/isalpha_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isalpha_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISALPHA_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISALPHA_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISALPHA_L, HAVE_ISALPHA_L. * modules/isalpha_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isalpha_l. * doc/posix-functions/isalpha_l.texi: Mention the new module.
Paul Eggert ac1e6fee 2025-02-14T18:04:54 isascii: stop using it * doc/pastposix-functions/isascii.texi: There is no isascii module. * m4/mbswidth.m4 (gl_MBSWIDTH): Do not check for isascii, as it no longer seems to be used here. * tests/test-c-ctype.c (test_agree_with_C_locale): Do not assume isascii exists, as POSIX no longer requires it.
Paul Eggert cf767848 2025-02-14T18:02:04 doc: “C11” → “C standard” for <sys/types.h> * doc/gnulib-readme.texi (C language versions): Don’t be overly specific about <sys/types.h>’s absence from the C standard.
Bruno Haible f7cb31ac 2025-02-14T23:59:09 isalnum_l: Fix errors in C++ mode. * lib/ctype.in.h (isalnum_l): Disable _GL_CXXALIASWARN invocation on non-glibc systems. * tests/test-ctype-h-c++.cc (isalnum_l): Fix typo. * doc/posix-functions/isalnum_l.texi: Correct platforms list.
Bruno Haible e77e5cc8 2025-02-14T09:01:06 isalnum_l: Add tests. * tests/test-isalnum_l.c: New file, based on tests/test-c32isalnum.c. * modules/isalnum_l-tests: New file.
Bruno Haible eb6c3786 2025-02-14T06:17:24 isalnum_l: New module. * lib/ctype.in.h: Include <locale.h>. (isalnum_l): New declaration. * lib/isalnum_l.c: New file. * lib/is_l-impl.h: New file. * m4/isalnum_l.m4: New file. * m4/ctype_h.m4 (gl_CTYPE_H): Test for isalnum_l. (gl_CTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISALNUM_L. (gl_CTYPE_H_DEFAULTS): Initialize HAVE_ISALNUM_L. * modules/ctype-h (Makefile.am): Substitute GNULIB_ISALNUM_L, HAVE_ISALNUM_L. * modules/isalnum_l: New file. * tests/test-ctype-h-c++.cc: Check declaration of isalnum_l. * doc/posix-functions/isalnum_l.texi: Mention the new module.
Bruno Haible cdab5862 2025-02-14T09:42:18 freelocale: Allow non-POSIX prototype on macOS. * tests/test-freelocale.c: Skip the signature check on macOS. * doc/posix-functions/freelocale.texi: Mention the macOS problem.