ChangeLog


Log

Author Commit Date CI Message
Bruno Haible 9aa6e580 2025-03-24T14:52:12 getlocalename_l-unsafe: Work around Cygwin 3.6.0 bug. * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_GETLOCALENAME_L. * m4/getlocalename_l.m4 (gl_FUNC_GETLOCALENAME_L_UNSAFE): Test whether getlocalename_l works. Set REPLACE_GETLOCALENAME_L. * modules/locale-h (Makefile.am): Substitute REPLACE_GETLOCALENAME_L. * lib/locale.in.h (getlocalename_l): Consider REPLACE_GETLOCALENAME_L. * modules/getlocalename_l-simple (Depends-on, configure.ac): Likewise. * doc/posix-functions/getlocalename_l.texi: Mention two Cygwin bugs.
Bruno Haible 8551b25e 2025-03-24T11:06:25 mountlist: Fix a compilation error on Solaris with gcc 14. * lib/mountlist.c (read_file_system_list): Cast the argument of MNT_IGNORE.
Bruno Haible 980a9e57 2025-03-24T10:28:30 gocomp-script: Improve comments. Reported by Collin Funk in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00094.html>. * build-aux/gocomp.sh.in: Mention limitation in comments.
Collin Funk f1daedcb 2025-03-23T20:32:01 mountlist tests: Fix link error. (regr. 2025-03-18). * modules/mountlist-tests (Makefile.am): Link the test program with LIBINTL.
Collin Funk 39db933c 2025-03-23T16:36:26 utimens: Fix missing declarations on NetBSD (regr. 2024-09-16). * lib/utimens.h [HAVE_UTIMENS || HAVE_LUTIMENS]: Include <sys/stat.h> instead of <sys/time.h> for the declarations of these functions on NetBSD.
Collin Funk 7d0d2480 2025-03-23T14:33:49 newlocale: Fix implicit function declarations. * lib/newlocale.c [HAVE_NEWLOCALE]: Include string.h for strlen and strcmp, stdio.h for sprintf, and stdlib.h for free.
Bruno Haible 979dcc75 2025-03-22T13:06:36 getlocalename_l-unsafe: Add Android workaround, like on OpenBSD. * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Set gt_cv_locale_fake to yes also on Android.
Bruno Haible 40b7c218 2025-03-22T13:03:43 setlocale-messages: Rename to setlocale-fixes and add Android support. * lib/setlocale-fixes.h: Renamed from lib/setlocale-messages.h. (setlocale_fixed, setlocale_fixed_null): New declarations. * lib/setlocale-fixes.c: Renamed from lib/setlocale-messages.h. (lc_cat_name): New variable. (cat_to_index, index_to_cat): New macro. (lc_all_name): New variable. (cat_names): New constant. (fill_lc_all_name, extract_single_name, setlocale_fixed, setlocale_fixed_null): New functions. * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set NEED_SETLOCALE_IMPROVED to 1 on Android. * lib/setlocale.c: Include setlocale-fixes.h instead of setlocale-messages.h. (setlocale_unixlike) [__ANDROID__]: Use setlocale_fixed instead of setlocale_mtsafe. (setlocale_improved): On Android, use setlocale_fixed_null instead of setlocale. * lib/getlocalename_l-unsafe.c: Include setlocale-fixes.h instead of setlocale-messages.h. (getlocalename_l_unsafe): On Android, use setlocale_fixed_null instead of setlocale_null. * modules/setlocale-fixes: Renamed from modules/setlocale-messages. (Files): Update. (configure.ac): Compile the .c file also on Android. (Include): Include setlocale-fixes.h instead of setlocale-messages.h. * modules/setlocale (Depends-on): Add setlocale-fixes. Remove setlocale-messages. * modules/getlocalename_l-unsafe (Depends-on): Likewise. * doc/posix-functions/setlocale.texi: Mention the Android problem.
Bruno Haible e82bd53d 2025-03-21T16:25:59 getloadavg: Improve Linux and Android support. * lib/getloadavg.c [__linux__, __ANDROID__]: Include <sys/param.h> and <sys/sysinfo.h>. (getloadavg) [__linux__, __ANDROID__]: Use sysinfo() instead of reading /proc/loadavg. (LINUX_LDAV_FILE): Remove macro.
Bruno Haible 3df6da25 2025-03-21T13:15:55 parse-duration: Work around an strtoul() misfeature. * lib/parse-duration.c (str_const_to_ul): Reject a + or - sign between the optional whitespace and the digits. * tests/test-parse-duration.sh: Add some tests with expected failure. * tests/test-parse-duration.c (main): Fix usage message.
Bruno Haible 195dcaf4 2025-03-21T12:22:42 mountlist: Add specification comment in .h file. * lib/mountlist.h (read_file_system_list): Move specification to here... * lib/mountlist.c (read_file_system_list): ...from here.
Bruno Haible 008ff109 2025-03-21T12:20:24 mountlist: Work around an strtoul() misfeature. * lib/mountlist.c: Include c-ctype.h. (dev_from_mount_options): Ignore the dev=... option if its value starts with whitespace or with a + or - sign. * modules/mountlist (Depends-on): Add c-ctype.
Bruno Haible ea4258f5 2025-03-21T11:46:43 mountlist: Replace a configure-time error with a compile-time error. Reported by Yury V. Zaytsev <yury@shurup.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00080.html>. * m4/mountlist.m4 (gl_MOUNTLIST): Instead of aborting the configuration, define MOUNTED_NOT_PORTED. * lib/mountlist.c (read_file_system_list): Err out if MOUNTED_NOT_PORTED is defined. * modules/mountlist (configure.ac, Makefile.am): Compile mountlist.c on all platforms.
Bruno Haible 8e4523a4 2025-03-21T07:17:53 setlocale-null: Fix autoconf warning. * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Define through AC_DEFUN_ONCE.
Bruno Haible 71cdf6bf 2025-03-20T17:35:38 Fix compilation errors in C++ mode on Android. * lib/string.in.h (memset_explicit, strerrorname_np): Disable _GL_CXXALIASWARN invocation on non-glibc systems. * lib/time.in.h (timespec_getres): Likewise. * lib/unistd.in.h (copy_file_range): Likewise.
Bruno Haible 205078f8 2025-03-20T14:28:54 nproc: Optimize. * lib/nproc.c (num_processors): Optimize away the num_processors_ignoring_omp (query) call when possible.
Paul Eggert 2835ca01 2025-03-19T13:23:46 nproc, openmp-init: omit unnecessary strtol code * lib/nproc.c (parse_omp_threads): * lib/omp-init.c (parse_omp_threads): Remove unnecessary initialization and unnecessary check whether endptr == NULL. Reported by Alejandro Colomar in: https://lore.kernel.org/liba2i/jx4664ishtl34eg2npdrv5fkfdiczqnlq3vjuacjrupjvh377x@gddcftzgwmfq/
Bruno Haible 83df81ce 2025-03-19T15:35:13 getlogin, getlogin_r: Fix typo in documentation. Reported by Eric Blake in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00071.html>. * doc/posix-functions/getlogin.texi: Fix typo. * doc/posix-functions/getlogin_r.texi: Likewise.
Bruno Haible 2f60fa4f 2025-03-19T13:50:47 mountlist: Improve implementation on native Windows. * lib/mountlist.c (read_file_system_list) [_WIN32 && !__CYGWIN__]: Also return the mount points inside the file systems.
Bruno Haible 90074f5b 2025-03-19T12:10:05 mountlist: Improve implementation on native Windows. * lib/mountlist.c (read_file_system_list) [_WIN32 && !__CYGWIN__]: Return the mntroot of drives mapped by SUBST or NET USE.
Bruno Haible 2d9bce54 2025-03-19T09:10:35 mountlist: Improve implementation on native Windows. * lib/mountlist.c (read_file_system_list) [_WIN32 && !__CYGWIN__]: Filter out those volumes for which GetVolumeInformation fails.
Collin Funk 23a3940f 2025-03-18T21:50:00 futimens: Work around a GNU/Hurd bug. * m4/futimens.m4 (gl_FUNC_FUTIMENS): Check if futimens validates the tv_nsec values of the timespec argument. Set bits in a return value instead of exiting early. * doc/posix-functions/futimens.texi (futimens): Mention the GNU/Hurd bug. Mention the same bug occurs on NetBSD 10.
Collin Funk f6c3f86b 2025-03-18T19:58:25 mountlist: Add tests. * modules/mountlist-tests: New file. * tests/test-mountlist.c: New file. * modules/mountlist (Usable-in-testdir): Remove section. * gnulib-tool.sh (func_create_testdir): Allow mountlist to be used in testdirs.
Collin Funk 5f693944 2025-03-18T19:23:00 mountlist: Add support for native Windows. * lib/mountlist.c (read_file_system_list) [_WIN32 && !__CYGWIN__]: Enumerate all drive prefixes. * m4/mountlist.m4 (gl_MOUNTLIST): Don't abort on native Windows.
Collin Funk 43fccde4 2025-03-18T18:37:48 Prefer the __gnu_hurd__ macro over __GNU__. * lib/get_ppid_of.c: Replace use of __GNU__ with __gnu_hurd__. * lib/get_progname_of.c: Likewise. * lib/sigsegv.c: Likewise. * lib/sigsegv.in.h: Likewise. * lib/vma-iter.c: Likewise. * lib/vma-iter.h: Likewise. * tests/test-ptsname.c: Likewise. * tests/test-ptsname_r.c: Likewise. * tests/test-sigsegv-catch-stackoverflow1.c: Likewise. * tests/test-sigsegv-catch-stackoverflow2.c: Likewise. * lib/getloadavg.c: Likewise. Adjust conditions and comments to account for the fact that NeXT defines __GNU__ and not __gnu_hurd__.
Collin Funk 579debda 2025-03-18T18:12:39 utimensat: Make sure exit status in configure check doesn't exceed 127. Reported by Bruno Haible in <https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00061.html>. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Merge bits for tests to match expectations on current platforms.
Collin Funk 4f988323 2025-03-17T22:13:04 utimensat: Increment serial number for previous commit. * m4/utimensat.m4: Increment serial number.
Collin Funk 381815da 2025-03-17T21:16:22 utimensat: Work around a GNU/Hurd bug. * lib/utimensat.c (rpl_utimensat) [__gnu_hurd__]: Check for out of range tv_nsec values. * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. Guess that utimensat doesn't work on GNU/Hurd. * doc/posix-functions/utimensat.texi: Mention the bug.
Collin Funk 5077f670 2025-03-13T19:11:08 vma-iter: Detect executable memory segments on Haiku (regr. 2011-01-25). * lib/vma-iter.c (vma_iterate) [__BEOS__ || __HAIKU__]: Use the B_EXECUTE_AREA flag.
Collin Funk ed91d9b1 2025-03-12T18:55:26 dup3: Fix behavior for equal file descriptors on Haiku. * lib/dup3.c (dup3) [__HAIKU__]: Set errno to EINVAL and return -1 if both file descriptors are equal. * doc/posix-functions/dup3.texi: Document the Haiku bug.
Bruno Haible ee27e996 2025-03-12T11:52:05 fcntl-h: Fix GNULIB_defined_O_NONBLOCK on Haiku (regr. 2025-02-16). * lib/fcntl.in.h (_@GUARD_PREFIX@_ALREADY_INCLUDING_FCNTL_H): New macro.
Simon Josefsson 867344f9 2025-03-12T11:22:39 doc: Improvements for gnulib git bundle. * doc/gnulib-git-bundle.texi (Gnulib Git Bundle): Use https URL, suggested by Bruno. Update instructions and add checksum/keyinfo.
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 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.