NEWS

Branch


Log

Author Commit Date CI Message
Bruno Haible 6fd6098f 2025-09-04T00:15:19 gnulib-tool: In tests directories, augment AM_CFLAGS and AM_CXXFLAGS. Reported by Pádraig Brady in <https://lists.gnu.org/archive/html/bug-gnulib/2025-09/>. * gnulib-tool.sh (func_emit_tests_Makefile_am): Append the warning-protection options to AM_CFLAGS and AM_CXXFLAGS, in addition to initializing CFLAGS and CXXFLAGS. * pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Likewise. * doc/gnulib-tool.texi (Modified build rules): Document the need to initialize AM_CFLAGS and AM_CXXFLAGS in tests directories. * NEWS: Mention the new requirement.
Bruno Haible 19b6bc71 2025-08-05T23:16:15 git-merge-changelog: Remove module. It is now available through $ git clone https://git.savannah.gnu.org/git/vc-changelog.git see https://gitweb.git.savannah.gnu.org/gitweb/?p=vc-changelog.git . * lib/git-merge-changelog.c: Remove file. * modules/git-merge-changelog: Remove file. * NEWS: Mention the change.
Paul Eggert e94aad0c 2025-07-13T00:43:36 safe-alloc: make obsolete and remove REALLOC_N Problem reported by Vivien Kraus in: https://lists.gnu.org/r/bug-gnulib/2025-07/msg00073.html This module never caught on. * lib/safe-alloc.h (REALLOC_N): Remove. * modules/safe-alloc: Now obsolete. * tests/test-safe-alloc.c (main): Remove REALLOC_N test.
Bruno Haible 5656e32e 2025-05-10T03:16:52 string-desc: Distinguish writable strings from read-only strings. * lib/string-desc.h (HAVE_STATEMENT_EXPRESSIONS): New macro. (rw_string_desc_t): New type. (string_desc_t) [HAVE_STATEMENT_EXPRESSIONS]: Change field _data from 'char *' to 'const char *'. (sd_readonly, sd_readwrite): New inline functions. (sd_length): Define through a macro with _Generic. (sd_char_at): Define through a macro and an inline function. (sd_data, sd_is_empty): Define through a macro with _Generic. (sd_equals, sd_startswith, sd_endswith, sd_cmp, sd_c_casecmp, sd_index, sd_last_index, sd_contains): Define through a macro. (sd_new_addr): Define through a macro with _Generic. (sd_substring, sd_write, sd_fwrite): Define through a macro. (sd_new, sd_new_filled): Change parameter type. (sd_copy): Define through a macro. (sd_concat): Change parameter type. (sd_c): Define through a macro. (sd_set_char_at, sd_fill): Change parameter type. (sd_overwrite): Define through a macro. (sd_free): Change parameter type. * lib/string-desc.c (_sd_equals): Renamed from sd_equals. Take scalar parameters. (_sd_startswith): Renamed from sd_startswith. Take scalar parameters. (_sd_endswith): Renamed from sd_endswith. Take scalar parameters. (_sd_cmp): Renamed from sd_cmp. Take scalar parameters. (_sd_c_casecmp): Renamed from sd_c_casecmp. Take scalar parameters. (_sd_index): Renamed from sd_index. Take scalar parameters. (_sd_last_index): Renamed from sd_last_index. Take scalar parameters. (_sd_new_addr, _rwsd_new_addr): Renamed from sd_new_addr. (sd_substring): Remove function. (_sd_write): Renamed from sd_write. Take scalar parameters. (_sd_fwrite): Renamed from sd_fwrite. Take scalar parameters. (sd_new, sd_new_filled): Change parameter type. (_sd_copy): Renamed from sd_copy. Change parameter type. Take scalar parameters. (sd_concat): Change parameter type. (_sd_c): Renamed from sd_c. Take scalar parameters. (sd_set_char_at, sd_fill): Change parameter type. (_sd_overwrite): Renamed from sd_overwrite. Change parameter type. Take scalar parameters. (sd_free): Change parameter type. * lib/string-desc-contains.c (_sd_contains): Renamed from sd_contains. Take scalar parameters. * lib/xstring-desc.h (xsd_new, xsd_new_filled, xsd_copy, xsd_concat): Change return type to rw_string_desc_t. (xsd_c): Define through a macro. * lib/xstring-desc.c (xsd_concat): Change return type to rw_string_desc_t. * doc/string-desc.texi (Handling strings with NUL characters): Mention rw_string_desc_t and the sd_readonly() function. * lib/string-buffer.h (sb_dupfree, sb_xdupfree): Change return type to rw_string_desc_t. * lib/string-buffer.c (sb_contents): Add a cast to 'const char *'. (sb_dupfree): Change return type to rw_string_desc_t. * lib/xstring-buffer.c (sb_xdupfree): Change return type to rw_string_desc_t. * lib/string-buffer-reversed.h (sbr_dupfree, sbr_xdupfree): Change return type to rw_string_desc_t. * lib/string-buffer-reversed.c (sbr_contents): Add a cast to 'const char *'. (sbr_dupfree): Change return type to rw_string_desc_t. * lib/xstring-buffer-reversed.c (sbr_xdupfree): Change return type to rw_string_desc_t. * tests/test-string-desc.c (main): Use type rw_string_desc_t as appropriate. * tests/test-xstring-desc.c (main): Likewise. * tests/test-sf-istream.c (main): Remove cast in sd_new_addr argument. * tests/test-sfl-istream.c (main): Likewise. * NEWS: Mention the change.
Paul Eggert 8a356b77 2025-05-09T18:02:29 qcopy-acl: port better to NFSv4 on GNU/Linux Problem reported by Ian Dall in <https://bugs.gnu.org/78328> and by Thomas Clark in <https://bugzilla.redhat.com/2363149>. * lib/file-has-acl.c (smack_new_label_from_file) [!HAVE_SMACK]: New dummy function. (has_xattr, get_aclinfo): New arg FD. All callers changed. Remove some unnecessary MAYBE_UNUSEDs. (acl_get_fd_np): Fall back on acl_get_fd if this function is needed but not available. (acl_get_fdfile): New function, if needed. (file_has_aclinfo): Reimplement in terms of ... (fdfile_has_aclinfo): ... this new function, which also has an FD argument. * lib/qcopy-acl.c [USE_XATTR]: Include dirent.h, for DT_DIR etc. (qcopy_acl): If attr_copy_file or attr_copy_fd fail with EOPNOTSUPP, don’t fail if the source has a trivial ACL (this is the part that fixes the bug; the rest is optimization). * modules/qcopy-acl (Depends-on): Depend on dirent-h and file-has-acl if $use_xattr. Also, depend on acl-permissions unconditionally, since qcopy-acl.c includes acl.h unconditionally.
Bruno Haible e412f9ac 2025-04-30T00:24:55 Rename module hash-triple-simple to hashcode-named-file. * lib/hashcode-named-file.c: Renamed from lib/hash-triple-simple.c. * modules/hashcode-named-file: Renamed from modules/hash-triple-simple. * lib/hash-triple.h: Update. * modules/canonicalize (Depends-on): Update. * modules/file-set (Depends-on): Update. * modules/hash-triple (Depends-on): Update. * NEWS: Mention the change.
Bruno Haible 9a26e704 2025-01-02T13:54:54 string-desc, xstring-desc, string-desc-quotearg: Rename functions. * lib/string-desc.h (sd_equals): Renamed from string_desc_equals. (sd_startswith): Renamed from string_desc_startswith. (sd_endswith): Renamed from string_desc_endswith. (sd_cmp): Renamed from string_desc_cmp. (sd_c_casecmp): Renamed from string_desc_c_casecmp. (sd_index): Renamed from string_desc_index. (sd_last_index): Renamed from string_desc_last_index. (sd_contains): Renamed from string_desc_contains. (sd_new_empty): Renamed from string_desc_new_empty. (sd_new_addr): Renamed from string_desc_new_addr. (sd_from_c): Renamed from string_desc_from_c. (sd_substring): Renamed from string_desc_substring. (sd_write): Renamed from string_desc_write. (sd_fwrite): Renamed from string_desc_fwrite. (sd_new): Renamed from string_desc_new. (sd_new_filled): Renamed from string_desc_new_filled. (sd_copy): Renamed from string_desc_copy. (sd_concat): Renamed from string_desc_concat. (sd_c): Renamed from string_desc_c. (sd_set_char_at): Renamed from string_desc_set_char_at. (sd_fill): Renamed from string_desc_fill. (sd_overwrite): Renamed from string_desc_overwrite. (sd_free): Renamed from string_desc_free. (sd_length): Renamed from string_desc_length. (sd_char_at): Renamed from string_desc_char_at. (sd_data): Renamed from string_desc_data. (sd_is_empty): Renamed from string_desc_is_empty. * lib/string-desc.c (sd_equals): Renamed from string_desc_equals. (sd_startswith): Renamed from string_desc_startswith. (sd_endswith): Renamed from string_desc_endswith. (sd_cmp): Renamed from string_desc_cmp. (sd_c_casecmp): Renamed from string_desc_c_casecmp. (sd_index): Renamed from string_desc_index. (sd_last_index): Renamed from string_desc_last_index. (sd_new_empty): Renamed from string_desc_new_empty. (sd_new_addr): Renamed from string_desc_new_addr. (sd_from_c): Renamed from string_desc_from_c. (sd_substring): Renamed from string_desc_substring. (sd_write): Renamed from string_desc_write. (sd_fwrite): Renamed from string_desc_fwrite. (sd_new): Renamed from string_desc_new. (sd_new_filled): Renamed from string_desc_new_filled. (sd_copy): Renamed from string_desc_copy. (sd_concat): Renamed from string_desc_concat. (sd_c): Renamed from string_desc_c. (sd_set_char_at): Renamed from string_desc_set_char_at. (sd_fill): Renamed from string_desc_fill. (sd_overwrite): Renamed from string_desc_overwrite. (sd_free): Renamed from string_desc_free. * lib/xstring-desc.h (xsd_concat): Renamed from xstring_desc_concat. (xsd_new): Renamed from xstring_desc_new. (xsd_new_filled): Renamed from xstring_desc_new_filled. (xsd_copy): Renamed from xstring_desc_copy. (xsd_c): Renamed from xstring_desc_c. * lib/xstring-desc.c (xsd_concat): Renamed from xstring_desc_concat. * lib/string-desc-quotearg.h (sd_quotearg_buffer): Renamed from string_desc_quotearg_buffer. (sd_quotearg_alloc): Renamed from string_desc_quotearg_alloc. (sd_quotearg_n): Renamed from string_desc_quotearg_n. (sd_quotearg): Renamed from string_desc_quotearg. (sd_quotearg_n_style): Renamed from string_desc_quotearg_n_style. (sd_quotearg_style): Renamed from string_desc_quotearg_style. (sd_quotearg_char): Renamed from string_desc_quotearg_char. (sd_quotearg_colon): Renamed from string_desc_quotearg_colon. (sd_quotearg_n_custom): Renamed from string_desc_quotearg_n_custom. (sd_quotearg_custom): Renamed from sd_quotearg_n_custom. * lib/string-desc-contains.c (sd_contains): Renamed from string_desc_contains. * lib/string-buffer.h: Update. * lib/string-buffer.c (sb_append_desc, sb_contents, sb_dupfree): Update. * lib/xstring-buffer.c (sb_xdupfree): Update. * lib/sf-istream.c (sf_istream_init_from_string_desc): Update. * tests/test-string-desc.c (main): Update. * tests/test-string-desc.sh: Update. * tests/test-xstring-desc.c (main): Update. * tests/test-string-desc-quotearg.c (main): Update. * tests/test-string-buffer.c (main): Update. * tests/test-sf-istream.c (main): Update. * tests/test-sfl-istream.c (main): Update. * doc/string-desc.texi: Update. * doc/strings.texi: Update. * NEWS: Mention the change.
Bruno Haible d2ed4c82 2024-12-25T19:13:53 xprintf, xprintf-posix, xprintf-gnu: Use *zprintf. * lib/xprintf.h (xprintf, xvprintf, xfprintf, xvfprintf): Change return type to off64_t. Move documentation from xprintf.c to here. Mention EOVERFLOW as another possible error unrelated to file I/O. * lib/xprintf.c (xprintf): Change return type to off64_t. (xvprintf): Likewise. Use vzprintf. (xfprintf): Change return type to off64_t. (xvfprintf): Likewise. Use vfzprintf. * modules/xprintf (Description): Mention also fprintf. Mention EOVERFLOW as another possible error unrelated to file I/O. (Depends-on): Add vzprintf, vfzprintf. * modules/xprintf-posix (Description): Mention also fprintf. Mention EOVERFLOW as another possible error unrelated to file I/O. (Depends-on): Add vzprintf-posix, vfzprintf-posix. Remove vprintf-posix, vfprintf-posix. * modules/xprintf-gnu (Description): Mention also fprintf. Mention EOVERFLOW as another possible error unrelated to file I/O. (Depends-on): Add vzprintf-gnu, vfzprintf-gnu. Remove vprintf-gnu, vfprintf-gnu. * tests/test-xprintf-posix.c (RETTYPE): Change to off64_t. * tests/test-xfprintf-posix.c (RETTYPE): Likewise. * NEWS: Document the change.
Paul Eggert 671103c7 2024-11-05T23:07:09 eealloc: deprecate Now that malloc-gnu and realloc-posix arrange for the various memory allocators to return non-null on success, should be no need for the eealloc module. * NEWS, modules/eealloc: Mention this.
Bruno Haible 427249c6 2024-10-22T22:08:24 execute, spawn-pipe: Support DLL dependencies of Windows executables. Reported by Michele Locati <michele@locati.it>. * lib/windows-path.h: New file. * lib/windows-path.c: New file. * lib/windows-spawn.h (compose_envblock): Add new_PATH parameter. (spawnpvech): Add dll_dirs parameter. Call extended_PATH. * lib/windows-spawn.c: Include windows-path.h. (compose_envblock): Add new_PATH parameter. * modules/windows-spawn (Description): Now applies to Cygwin as well. (Files): Add lib/windows-path.h, lib/windows-path.c. (configure.ac): Define GL_COND_OBJ_WINDOWS_PATH. (Makefile.am): Conditionally compile windows-path.c. (Include): Add windows-path.h. * lib/spawni.c (__spawni): Update compose_envblock call. * lib/execute.h (execute): Add dll_dirs parameter. * lib/execute.c: Include windows-path.h. (execute): Add dll_dirs parameter. Pass it down to spawnpvech. Call extended_environ. * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi): Add dll_dirs parameter. * lib/spawn-pipe.c: Include windows-path.h. (create_pipe): Add dll_dirs parameter. Pass it down to spawnpvech. Call extended_environ. (create_pipe_bidi, create_pipe_in, create_pipe_out): Add dll_dirs parameter. * lib/javaexec.c (execute_java_class): Update execute invocations. * lib/cygpath.c (execute_and_read_line): Update create_pipe_in invocation. * lib/javaversion.c (execute_and_read_line): Likewise. * lib/csharpcomp.c (compile_csharp_using_mono, compile_csharp_using_dotnet, compile_csharp_using_sscli): Update execute, create_pipe_in invocations. * lib/csharpexec.c (execute_csharp_using_mono, execute_csharp_using_dotnet, execute_csharp_using_sscli): Likewise. * lib/javacomp.c (compile_using_envjavac, compile_using_javac, execute_and_read_line, is_javac_present): Likewise. * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update create_pipe_bidi invocation. * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise. * tests/test-execute-main.c (main): Update execute invocations. * tests/test-execute-script.c (main): Likewise. * tests/test-spawn-pipe-main.c (main): Update create_pipe_bidi invocation. * tests/test-spawn-pipe-script.c (main): Update create_pipe_in invocations. * NEWS: Mention the changes.
Paul Eggert 8682f4d3 2024-10-02T17:40:34 file-has-acl: no need for struct stat Change the API of the new file_has_aclinfo function so that it no longer needs a struct stat *. In some cases this can help GNU ls avoid an unnecessary ‘stat’ call for each file it lists, which can be a significant win. * lib/acl.h (ACL_SYMLINK_NOFOLLOW): Change from 1 to UCHAR_MAX+1 so that it can be ORed with any d_type value. * lib/file-has-acl.c: Include dirent.h, for the DT_* macros. Check that ACL_SYMLINK_NOFOLLOW is outside unsigned char range. (file_has_aclinfo): Change API so that struct stat is no longer needed. Instead, the file type (if known) is passed as part of the flags. All callers changed. Simplify NFSv4 code. * modules/file-has-acl (Depends-on): Add assert-h for static_assert, and dirent for DT_* macros. * tests/test-file-has-acl.c: Include dirent.h. (main): Adjust to file_has_aclinfo API change. Briefly test ACL_SYMLINK_FOLLOW.
Bruno Haible db23a7ea 2024-09-25T17:19:41 string-buffer: Add more API. * lib/string-buffer.h: Include string-desc.h. (sb_append1, sb_append_desc): New declarations. (sb_append_c): Renamed from sb_append. (sb_contents, sb_contents_c, sb_dupfree): New declarations. (sb_dupfree_c): Renamed from sb_dupfree. * lib/string-buffer.c (sb_append1, sb_append_desc): New functions. (sb_append_c): Renamed from sb_append. (sb_contents, sb_contents_c, sb_dupfree): New functions. (sb_dupfree_c): Renamed from sb_dupfree. Optimize. * modules/string-buffer (Depends-on): Add string-desc. * tests/test-string-buffer.c (main): Use sb_append_c instead of sb_append. Use sb_dupfree_c instead of sb_dupfree. Test also sb_append1, sb_append_desc, sb_contents. * NEWS: Mention the changes.
Paul Eggert 959152ba 2024-08-14T18:03:54 error: merge from glibc and with verror * lib/error.c: Merge changes since 2018 from glibc. ----- The following changes are taken from glibc: (__error_internal, __error_at_line_internal): New functions, with most of the old error and error_at_line_internal but with va_list and with a new trailing mode_args, for wide character mode. (error_tail): Add trailing arg. (error_tail, __error_internal, __error_at_line_internal): Redo _LIBC implementation with respect to cancelation. [_LIBC]: Include <libc-lock.h>, not <bits/libc-lock.h>. ----- The following changes are specific to Gnulib: (__error_internal, __error_at_line_internal, error_tail) [!_LIBC]: Use macros to define away the new trailing arg, and to name the internal functions to verror and verror_at_line. (verror, verror_at_line) [!_LIBC]: Undef so that we omit the __gl_error_call business when defining these functions. * lib/error.in.h: Include stdarg.h. (verror, verror_at_line): New decls and macros. * m4/error_h.m4 ([gl_ERROR_H]): Always compile error.c if the verror module is also present. * modules/verror (Files, lib_SOURCES): Remove lib/verror.h, lib/verror.c. (Depends-on): Remove stdio, xvasprintf. (configure.ac-early): Define gl_HAVE_MODULE_VERROR so that the error module compiles error.c. Not sure if this is the standard way to do this, but it seems to work. * modules/verror (Include), tests/test-verror.c: Include error.h, not verror.h.
Paul Eggert 7574f5c1 2024-08-09T14:33:31 full-read, etc.: prefer signed types * lib/full-read.h, lib/full-write.h, lib/safe-read.h, lib/safe-write.h: Include idx.h. * lib/full-write.c (full_read, full_write): Now accept and returns idx_t. * lib/safe-read.c (bufptr): New type, since apps are not supposed to #define keywords like ‘const’. (safe_read, safe_write): Now accept idx_t and return ptrdiff_t. * lib/safe-read.h (SAFE_READ_ERROR): * lib/safe-write.h (SAFE_WRITE_ERROR): Now ptrdiff_t, not size_t. * modules/full-read, modules/full-write, modules/safe-read: * modules/safe-write (Depends-on): Add idx.
Bruno Haible f7c9406a 2024-06-22T12:22:12 c-xvasprintf: Guarantee a non-NULL result. * lib/c-xvasprintf.h: Clarify the programmer's responsibilities. (c_xasprintf, c_xvasprintf): Declare as returning non-NULL. * lib/c-xvasprintf.c: Include <stdlib.h>, <string.h>. (c_xvasprintf): Call c_vazsprintf instead of c_vasprintf. When some other error occurs, emit an error message and abort. * modules/c-xvasprintf (Files): Add m4/strerrorname_np.m4. (Depends-on): Add extensions, c-vazsprintf. Remove c-vasprintf. (configure.ac): Invoke gl_OPTIONAL_STRERRORNAME_NP. * NEWS: Mention the change.
Bruno Haible 53549b9b 2024-06-22T12:17:51 xvasprintf: Guarantee a non-NULL result. * lib/xvasprintf.h: Clarify the programmer's responsibilities. (xasprintf, xvasprintf): Declare as returning non-NULL. * lib/xvasprintf.c: Include <stdlib.h>. (xstrcat): Allow results longer than INT_MAX characters. Upon size overflow, invoke xalloc_die. (xvasprintf): Call vazsprintf instead of vasprintf. When some other error occurs, emit an error message and abort. * m4/strerrorname_np.m4 (gl_CHECK_STRERRORNAME_NP): New macro, extracted from gl_FUNC_STRERRORNAME_NP. (gl_FUNC_STRERRORNAME_NP): Invoke it. (gl_OPTIONAL_STRERRORNAME_NP): New macro. * m4/xvasprintf.m4 (gl_XVASPRINTF): Invoke gl_OPTIONAL_STRERRORNAME_NP. * modules/xvasprintf (Files): Add m4/strerrorname_np.m4. (Depends-on): Add extensions, vazsprintf. Remove vasprintf. * NEWS: Mention the change.
Collin Funk 5d2987e6 2024-05-16T15:56:47 Rename module 'putenv' to 'putenv-gnu'. * modules/putenv-gnu: Renamed from modules/putenv. (Description): Mention the removal of environment variables. * modules/putenv-gnu-tests: Renamed from modules/putenv-tests. * modules/putenv: New file, an indirection to the new module. * doc/posix-functions/putenv.texi: Mention the new module name. * NEWS: Mention the change.
Bruno Haible 0fbc4699 2024-02-21T15:49:23 *printf-posix: Disable support for the 'n' directive by default. * m4/printf-with-n-directive.m4: New file. * modules/printf-with-n-directive: New file. * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_IS_POSIX): If gl_PRINTF_SUPPORT_N_DIRECTIVE is not defined, ignore the value of the gl_cv_func_printf_directive_n variable. * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_IS_POSIX): Likewise. * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX): Likewise. * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_IS_POSIX): Likewise. * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): Likewise. * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_IS_POSIX): Likewise. * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_IS_POSIX): Likewise. * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_IS_POSIX): Likewise. * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_IS_POSIX): Likewise. * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_IS_POSIX): If gl_PRINTF_SUPPORT_N_DIRECTIVE is not defined, ignore the values of the gl_cv_func_printf_directive_n and gl_cv_func_snprintf_directive_n variables. * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_IS_POSIX): Likewise. * lib/printf-parse.c (PRINTF_PARSE): If NEED_PRINTF_WITH_N_DIRECTIVE is not defined, treat the 'n' directive like an unknown directive. * lib/vasnprintf.c (VASNPRINTF): If NEED_PRINTF_WITH_N_DIRECTIVE is not defined, disable the processing of the 'n' directive. * tests/test-snprintf-posix.h (test_function): If NEED_PRINTF_WITH_N_DIRECTIVE is not defined, skip the %n test. * tests/test-sprintf-posix.h (test_function): Likewise. * tests/test-vasnprintf-posix.c (test_function): Likewise. * tests/test-vasnwprintf-posix.c (test_function): Likewise. * tests/test-vasprintf-posix.c (test_function): Likewise. * doc/posix-functions/dprintf.texi: Mention that support for the 'n' directive is only enabled together with the module 'printf-with-n-directive'. * doc/posix-functions/fprintf.texi: Likewise. * doc/posix-functions/printf.texi: Likewise. * doc/posix-functions/snprintf.texi: Likewise. * doc/posix-functions/sprintf.texi: Likewise. * doc/posix-functions/vdprintf.texi: Likewise. * doc/posix-functions/vfprintf.texi: Likewise. * doc/posix-functions/vprintf.texi: Likewise. * doc/posix-functions/vsnprintf.texi: Likewise. * doc/posix-functions/vsprintf.texi: Likewise. * doc/glibc-functions/obstack_printf.texi: Likewise. * doc/glibc-functions/obstack_vprintf.texi: Likewise. * NEWS: Mention the change.
Bruno Haible 72224a99 2024-02-09T17:39:42 strftime: Remove module, deprecated in 2017. * modules/strftime: Remove file. * NEWS: Mention it.
Paul Eggert 0771cac8 2023-09-03T18:14:53 same-inode, stat-size: support pointers too Add functions and macros so that we can test pointers to struct stat as well as plain struct stat. This lets coreutils deal with structs that are only partly initialized, without relying on undefined behavior. * NEWS: Mention this. * doc/posix-headers/sys_stat.texi, doc/stat-size.texi: Mention this and modernize. * lib/at-func2.c (at_func2): * lib/fts.c (same_fd): * lib/rename.c (rpl_rename) [RENAME_HARD_LINK_BUG]: * lib/same-inode.c: New file. * lib/same.c (same_nameat): * lib/term-style-control.c (activate_term_style_controller): Prefer psame_inode (a, b) to SAME_INODE (*a, *b). * lib/hash-triple-simple.c (triple_compare_ino_str): * lib/hash-triple.c (triple_compare): Prefer PSAME_INODE (a, b) to SAME_INODE (*a, *b). psame_inode is not suitable since the args are not struct stat *. * lib/same-inode.h: Check that config.h is included first. (SAME_INODE_INLINE, PSAME_INODE): New macros. (SAME_INODE): Reimplement in terms of PSAME_INODE. (psame_inode): New function. * lib/stat-size.h (STP_BLKSIZE, STP_NBLOCKS): New macros. (ST_BLKSIZE, ST_NBLOCKS): Use them. * lib/term-style-control.c (log_signal_handler_called): Always define as a function, to pacify -Wunused*. * modules/canonicalize-lgpl-tests (Files): Add m4/musl.m4. (Depends-on): Call gl_MUSL_LIBC. * modules/same-inode (Files): Add same-inode.c. (Depends-on): Add extern-inline, stdbool. (lib_SOURCES): New macro. * tests/test-binary-io.c, tests/test-canonicalize-lgpl.c: * tests/test-canonicalize.c, tests/test-cloexec.c: * tests/test-dup-safer.c, tests/test-dup2.c, tests/test-error.c: * tests/test-fcntl.c, tests/test-fdopendir.c, tests/test-fgetc.c: * tests/test-fputc.c, tests/test-fread.c, tests/test-fstat.c: * tests/test-fstatat.c, tests/test-ftruncate.c: * tests/test-fwrite.c, tests/test-getcwd.c: * tests/test-getdtablesize.c, tests/test-isblank.c: * tests/test-linkat.c, tests/test-lock.c, tests/test-lstat.h: * tests/test-malloc-gnu.c, tests/test-openat.c: * tests/test-pthread-thread.c, tests/test-pthread_sigmask1.c: * tests/test-pthread_sigmask2.c, tests/test-ptsname.c: * tests/test-ptsname_r.c, tests/test-raise.c: * tests/test-realloc-gnu.c, tests/test-rwlock1.c: * tests/test-sigprocmask.c, tests/test-snprintf.c: * tests/test-stat.h, tests/test-term-style-control-hello.c: * tests/test-term-style-control-yes.c, tests/test-thread_create.c: * tests/test-unlinkat.c, tests/test-vasnprintf.c: * tests/test-xalloc-die.c: Adjust to these changes, and fix some warnings elicited by -Wall -Wextra that I ran into while testing. * top/maint.mk (sc_prohibit_stat_st_blocks): Mention STP_NBLOCKS.
Bruno Haible 622d2c07 2023-08-08T17:36:10 readutmp: Return entries with unbounded strings on all platforms. Suggested by Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00165.html>. * m4/readutmp.m4 (gl_READUTMP): Test also whether struct utmp has an ut_tv member, and whether struct utmp and struct utmpx have an ut_session member. * lib/readutmp.h (struct gl_utmp): Define always. Add ut_exit field. (HAVE_GL_UTMP): Remove macro. (UT_USER, UT_TIME_MEMBER, UT_PID, UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT, STRUCT_UTMP): Define w.r.t. struct gl_utmp. (UT_USER_SIZE, UT_ID_SIZE, UT_LINE_SIZE, UT_HOST_SIZE): Define to -1 always. (getutent): Remove declaration. (HAVE_STRUCT_XTMP_UT_EXIT): Remove unused macro. (HAVE_STRUCT_XTMP_UT_ID, HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_HOST): Change to match the way coreutils uses these macros. * lib/readutmp.c (UT_USER, UT_TIME_MEMBER, UT_PID, UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, IS_USER_PROCESS, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT, UT_USER_SIZE, UT_ID_SIZE, UT_LINE_SIZE, UT_HOST_SIZE): Define w.r.t. struct utmpx or struct utmp. (extract_trimmed_name): Don't use UT_USER or UT_USER_SIZE here. (desirable_utmp_entry): Don't use UT_TIME_MEMBER or UT_USER here. (struct utmp_alloc): Define always. (add_utmp): Likewise. Add user_len, id_len, line_len, host_len, termination, exit arguments. Don't require that user, id, line, host are NUL-terminated. Assume user and host are non-NULL. (finish_utmp): New function, extracted from read_utmp. (read_utmp) [READUTMP_USE_SYSTEMD]: Update add_utmp invocations. Pass a non-NULL user and a non-NULL host. Call finish_utmp. (getutent): Move declaration from readutmp.h to here. (copy_utmp_entry): Remove function. (read_utmp) [UTMP_NAME_FUNCTION]: Replace variables n_read, n_alloc, utmp with a 'struct utmp_alloc'. Use 'struct utmpx32' from copy_utmp_entry here. Invoke add_utmp and finish_utmp. (read_utmp) [!UTMP_NAME_FUNCTION]: Replace variables n_read, n_alloc, utmp with a 'struct utmp_alloc'. Invoke add_utmp and finish_utmp. * NEWS: Mention the API change.
Paul Eggert 8edf2ae3 2023-08-03T18:27:35 readutmp: fix comments
Paul Eggert db1645dd 2023-08-03T15:53:30 readutmp: fix idx_t FIXME in API * lib/readutmp.c (read_utmp): 2nd arg is now idx_t *, not size_t *. * lib/readutmp.h: Include idx.h, for idx_t. * modules/readutmp (Depends-on): Add idx.
Paul Eggert 1ccde926 2023-08-03T15:53:27 readutmp: go back to simple ‘free’ Omit the new free_utmp function. Instead, allocate storage in one block, so that using code can still just call ‘free’. * lib/readutmp.c (struct utmp_alloc) [READUTMP_USE_SYSTEMD]: New type. (add_utmp) [READUTMP_USE_SYSTEMD]: New function. (read_utmp) [READUTMP_USE_SYSTEMD]: Use it. Also, use malloc a bit less heavily. (free_utmp): Remove. * tests/test-readutmp.c (main): Call free, not free_utmp.
Bruno Haible 0b71ff37 2023-08-01T21:44:07 readutmp: For year-2038 safety on Linux/{x86,arm}, use systemd APIs. Suggested by Thorsten Kukuk <kukuk@suse.com> in <https://www.thkukuk.de/blog/Y2038_glibc_utmp_64bit/> and <https://github.com/thkukuk/utmpx/blob/main/utmp-to-logind.md>. * m4/systemd.m4: New file. * m4/readutmp.m4 (gl_READUTMP): Require gl_SYSTEMD_CHOICE. Set READUTMP_LIB. Conditionally define READUTMP_USE_SYSTEMD. * lib/readutmp.h: For READUTMP_USE_SYSTEMD, include <sys/time.h> and <utmpx.h>. (struct gl_utmp): New type. (UTMP_STRUCT_NAME, UT_TIME_MEMBER, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT, UT_USER, HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID, HAVE_STRUCT_XTMP_UT_PID): Define differently for READUTMP_USE_SYSTEMD. (UT_USER_SIZE): Don't define for READUTMP_USE_SYSTEMD. (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, READ_UTMP_SUPPORTED): Define also for READUTMP_USE_SYSTEMD. (free_utmp): New declaration. * lib/readutmp.c: Add new includes for READUTMP_USE_SYSTEMD. (extract_trimmed_name): Adapt to READUTMP_USE_SYSTEMD. (get_boot_time_uncached, get_boot_time, guess_pty_name): New functions. (read_utmp): New implementation for READUTMP_USE_SYSTEMD. (free_utmp): New function. * tests/test-readutmp.c (main): At the end, invoke free_utmp. * modules/readutmp (Files): Add m4/systemd.m4. (Link): New section. * modules/readutmp-tests (Makefile.am): Link test-readutmp with READUTMP_LIB. * NEWS: Mention the free_utmp function and the READUTMP_LIB link requirement.
Bruno Haible d2777e80 2023-07-11T00:52:23 dfa: Overcome wchar_t limitations. * lib/localeinfo.h: Include <uchar.h>. Add special definitions for GAWK. (case_folded_counterparts): Change array element type to char32_t. * lib/localeinfo.c: Include <uchar.h>. Add special definitions for GAWK. (is_using_utf8, init_localeinfo): Use mbrtoc32 instead of mbrtowc. (lonesome_lower): Change element type to 'unsigned short'. (case_folded_counterparts): Change array element type to char32_t. Use c32toupper instead of towupper. Use c32tolower instead of towlower. * lib/dfa.c: Include <uchar.h>. Add special definitions for GAWK. (struct mb_char_classes): Change element type of 'chars' to char32_t. (mbs_to_wchar): Use mbrtoc32 instead of mbrtowc. (setbit_wc): Change type of first argument to char32_t. Use c32tob instead of wctob. (parse_bracket_exp): Update. (lex): Use c32isprint instead of iswprint. Use c32isspace instead of iswspace. Use c32rtomb instead of a %lc directive. (addtok_wc): Use c32rtomb instead of wcrtomb. (atom): Update. * modules/dfa (Depends-on): Remove wctype-h. Add uchar, mbrtoc32-regular, c32rtomb, c32tob, c32tolower, c32toupper, c32isprint, c32isspace. (Link): Add $(LIBUNISTRING) $(LIBC32CONV). * modules/dfa-tests (Makefile.am): Link test-dfa-match-aux with $(LIBUNISTRING) $(LIBC32CONV). * NEWS: Mention the change.
Bruno Haible b5d1c2f5 2023-07-10T23:17:12 Revert "dfa: Overcome wchar_t limitations."
Bruno Haible 77c1c85c 2023-07-07T12:04:14 dfa: Overcome wchar_t limitations. * lib/localeinfo.h: Include <uchar.h>. Add special definitions for GAWK. (case_folded_counterparts): Change array element type to char32_t. * lib/localeinfo.c: Include <uchar.h>. Add special definitions for GAWK. (is_using_utf8, init_localeinfo): Use mbrtoc32 instead of mbrtowc. (lonesome_lower): Change element type to 'unsigned short'. (case_folded_counterparts): Change array element type to char32_t. Use c32toupper instead of towupper. Use c32tolower instead of towlower. * lib/dfa.c: Include <uchar.h>. Add special definitions for GAWK. (struct mb_char_classes): Change element type of 'chars' to char32_t. (mbs_to_wchar): Use mbrtoc32 instead of mbrtowc. (setbit_wc): Change type of first argument to char32_t. Use c32tob instead of wctob. (parse_bracket_exp): Update. (lex): Use c32isprint instead of iswprint. Use c32isspace instead of iswspace. Use c32rtomb instead of a %lc directive. (addtok_wc): Use c32rtomb instead of wcrtomb. (atom): Update. * modules/dfa (Depends-on): Remove wctype-h. Add uchar, mbrtoc32, c32rtomb, c32tob, c32tolower, c32toupper, c32isprint, c32isspace. (Link): Add $(LIBUNISTRING) $(LIBC32CONV). * modules/dfa-tests (Makefile.am): Link test-dfa-match-aux with $(LIBUNISTRING) $(LIBC32CONV). * NEWS: Mention the change.
Bruno Haible 6f42bdda 2023-06-12T00:57:35 javacomp-script, javacomp: Document effects of yesterday's change. * NEWS: Mention yesterday's change.
Paul Eggert f29bafbc 2023-05-20T12:11:54 diffseq: backward compatibility for OFFSET_MAX * lib/diffseq.h (OFFSET_MAX): Define only if not already defined.
Paul Eggert 5d2fe247 2023-05-19T08:57:29 diffseq: don’t assume integers lack padding * NEWS: Mention this. * lib/diffseq.h (OFFSET_MAX): Don’t define; this is now the user’s responsibility. * lib/fstrcmp.c (OFFSET_MAX): Define to PTRDIFF_MAX.
Paul Eggert c2a5953f 2023-04-29T11:44:13 year2038-recommended: new module Remove year2038-required and largefile-required, replacing the former with year2038-recommended and simply removing the latter. This syncs with Autoconf master. * MODULES.html.sh, NEWS, doc/largefile.texi: * all-modules (exclude): Exclude year2038-recommended, not -required. * doc/posix-headers/sys_types.texi, doc/posix-headers/time.texi: * doc/year2038.texi: Mention this. * m4/largefile.m4: Sync from Autoconf. Override existing macros if AC_SYS_YEAR2038_RECOMMENDED is not defined, rather than if AC_SYS_LARGEFILE_REQUIRED is not defined. * modules/largefile-required, modules/year2038-required: Removed. * modules/year2038: Do not depend on largefile; simply use m4/largefile.m4, since we shouldn’t need the extra goodies largefile supplies. * modules/year2038-recommended: New module.
Bruno Haible 53370c23 2023-03-25T20:54:29 call_once: New module, separate from mtx. * lib/threads.in.h (call_once): Declare as part of module 'call_once', not module 'mtx'. * lib/call_once.c: New file, extracted from lib/mtx.c. * lib/mtx.c (call_once): Remove function. * m4/threads_h.m4 (gl_THREADS_H_REQUIRE_DEFAULTS): Inititalize GNULIB_CALL_ONCE. * modules/threads-h (Makefile.am): Substitute GNULIB_CALL_ONCE. * modules/call_once: New file, based on modules/mtx. * modules/threads (Depends-on): Add call_once. * tests/test-threads-c++.cc: Update accordingly. * modules/call_once-tests: New file, based on modules/mtx-tests. * modules/mtx-tests (Files): Remove tests/test-call_once.c. (Makefile.am): Don't compile test-call_once. * doc/posix-functions/call_once.texi: Document that the relevant module is now 'call_once'. * NEWS: Mention the change.
Paul Eggert 90356fd2 2023-03-10T15:45:56 maint: improve notice of time change
Bruno Haible 3ef8e991 2023-03-08T10:41:00 time-h: Renamed from time. * modules/time-h: Renamed from modules/time. * tests/test-time-h.c: Renamed from tests/test-time.c. * modules/time-h-tests: Renamed from modules/time-tests. Update. * tests/test-time-h-c++.cc: Renamed from tests/test-time-c++.cc. * tests/test-time-h-c++2.cc: Renamed from tests/test-time-c++2.cc. * modules/time-h-c++-tests: Renamed from modules/time-c++-tests. Update. * modules/cond (Depends-on): Update. * modules/ctime (Depends-on): Likewise. * modules/localtime (Depends-on): Likewise. * modules/mktime (Depends-on): Likewise. * modules/nanosleep (Depends-on): Likewise. * modules/parse-datetime (Depends-on): Likewise. * modules/posixcheck (Depends-on): Likewise. * modules/pthread-h (Depends-on): Likewise. * modules/stat-time (Depends-on): Likewise. * modules/stat-time-tests (Depends-on): Likewise. * modules/strftime-fixes (Depends-on): Likewise. * modules/strptime (Depends-on): Likewise. * modules/sys_stat (Depends-on): Likewise. * modules/tempname (Depends-on): Likewise. * modules/threads-h (Depends-on): Likewise. * modules/time_r (Depends-on): Likewise. * modules/time_rz (Depends-on): Likewise. * modules/timegm (Depends-on): Likewise. * modules/timespec (Depends-on): Likewise. * modules/timespec_get (Depends-on): Likewise. * modules/timespec_getres (Depends-on): Likewise. * modules/tzset (Depends-on): Likewise. * modules/usleep-tests (Depends-on): Likewise. * modules/utime (Depends-on): Likewise. * modules/utimecmp (Depends-on): Likewise. * modules/utimens (Depends-on): Likewise. * modules/windows-cond (Depends-on): Likewise. * modules/windows-timedmutex (Depends-on): Likewise. * modules/windows-timedrecmutex (Depends-on): Likewise. * modules/windows-timedrwlock (Depends-on): Likewise. * modules/xnanosleep (Depends-on): Likewise. * doc/posix-headers/time.texi: Update. * NEWS: Mention the change.
Paul Eggert 96d3aaac 2023-02-07T14:30:54 nullptr: rename from c-nullptr * NEWS, doc/gnulib.texi: Mention this. * m4/nullptr.m4: Rename from m4/c-nullptr.m4. (gl_NULLPTR): Rename from gl_C_NULLPTR. * modules/nullptr: Rename from modules/nullptr. * modules/nullptr-c++-tests: Rename from modules/c-nullptr-c++-tests. * modules/nullptr-tests: Rename from modules/c-nullptr-tests. All uses changed.
Bruno Haible 8e0ac737 2023-01-30T10:56:14 Update NEWS. * NEWS: Update for qcopy-acl change on 2023-01-13.
Bruno Haible d48f4319 2023-01-21T09:43:50 getprogname: Move declaration from "getprogname.h" to <stdlib.h>. * lib/stdlib.in.h (getprogname): New declaration. * lib/getprogname.h: Add deprecation warning. (getprogname): Remove declaration. * lib/getprogname.c: Include <stdlib.h> instead of getprogname.h. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether getprogname is declared. (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETPROGNAME. (gl_STDLIB_H_DEFAULTS): Initialize HAVE_GETPROGNAME. * m4/getprogname.m4 (gl_PREREQ_GETPROGNAME): New macro, extracted from gl_FUNC_GETPROGNAME. Set HAVE_GETPROGNAME. (gl_FUNC_GETPROGNAME): Remove code that was moved to gl_PREREQ_GETPROGNAME. * modules/stdlib (Makefile.am): Substitute GNULIB_GETPROGNAME and HAVE_GETPROGNAME. * modules/getprogname (Depends-on): Add stdlib. (configure.ac): Define a module indicator. Invoke gl_PREREQ_GETPROGNAME. (Makefile.am): Don't compile getprogname.c if not needed. (Include): List <stdlib.h> instead of getprogname.h. * tests/test-getprogname.c: Include <stdlib.h> instead of getprogname.h. * NEWS: Mention the change. * lib/argmatch.c: Don't include getprogname.h. * lib/c-stack.c: Likewise. * lib/error.c: Likewise. * lib/git-merge-changelog.c: Likewise.
Paul Eggert c593e834 2023-01-15T11:48:43 alignasof: new module This splits off support for the C23 keywords alignas and alignof, from the now-deprecated stdalign module. The latter now merely provides C11 support. * MODULES.html.sh, NEWS, doc/gnulib.texi: * doc/posix-headers/stdalign.texi: Document the change. * lib/stdalign.in.h: Remove most of the definitions (which are now supplied by the alignasof module), leaving only __alignas_is_defined and __alignof_is_defined. * modules/alignasof, modules/alignasof-tests: New files. * m4/stdalign.m4 (gl_ALIGNASOF): New macro, with most of the contents of the old gl_STDALIGN_H. Do not define __alignas_is_defined or __alignof_is_defined. (gl_STDALIGN_H): Rely on gl_ALIGNASOF for most of the work. * modules/alignalloc, modules/alignof, modules/argp: * modules/crypto/md4-buffer, modules/crypto/md5-buffer: * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer: * modules/crypto/sha512-buffer, modules/crypto/sm3-buffer: * modules/fts, modules/rawmemchr, modules/relocatable-prog-wrapper: * modules/stddef-tests, modules/sys_socket: Depend on alignasof, not stdalign. * modules/stdalign: Deprecate. Depend on alignasof. * modules/stdalign-tests: Move most contents to the new module alignasof-tests, and depend on that.
Bruno Haible 80b225fe 2023-01-07T15:17:30 timer_time: Rename LIB_TIMER_TIME to TIMER_TIME_LIB. * m4/timer_time.m4: Rename LIB_TIMER_TIME to TIMER_TIME_LIB. All uses changed. * NEWS: Mention the change
Bruno Haible 138fa3d5 2023-01-07T15:12:41 setlocale-null: Rename LIB_SETLOCALE_NULL to SETLOCALE_NULL_LIB. * m4/setlocale_null.m4: Rename LIB_SETLOCALE_NULL to SETLOCALE_NULL_LIB. All uses changed. * NEWS: Mention the change
Bruno Haible bd50da7f 2023-01-07T15:05:00 setlocale: Rename LIB_SETLOCALE to SETLOCALE_LIB. * m4/setlocale.m4: Rename LIB_SETLOCALE to SETLOCALE_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 283f413f 2023-01-07T14:52:00 select: Rename LIB_SELECT to SELECT_LIB. * m4/select.m4: Rename LIB_SELECT to SELECT_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 3943b5a2 2023-01-07T14:48:31 sched_yield: Rename LIB_SCHED_YIELD to SCHED_YIELD_LIB. * m4/threadlib.m4: Rename LIB_SCHED_YIELD to SCHED_YIELD_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible ca97499c 2023-01-07T14:39:16 pthread_sigmask: Rename LIB_PTHREAD_SIGMASK to PTHREAD_SIGMASK_LIB. * m4/pthread_sigmask.m4: Rename LIB_PTHREAD_SIGMASK to PTHREAD_SIGMASK_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 046c426c 2023-01-07T14:32:04 posix_spawn: Rename LIB_POSIX_SPAWN to POSIX_SPAWN_LIB. * m4/spawn_h.m4: Rename LIB_POSIX_SPAWN to POSIX_SPAWN_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 255c6884 2023-01-07T14:28:33 poll: Rename LIB_POLL to POLL_LIB. * m4/poll.m4: Rename LIB_POLL to POLL_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible b89c6790 2023-01-07T14:25:47 nanosleep: Rename LIB_NANOSLEEP to NANOSLEEP_LIB. * m4/nanosleep.m4: Rename LIB_NANOSLEEP to NANOSLEEP_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible c50044d6 2023-01-07T13:59:25 mbrtowc: Rename LIB_MBRTOWC to MBRTOWC_LIB. * m4/mbrtowc.m4: Rename LIB_MBRTOWC to MBRTOWC_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 7d19811f 2023-01-07T11:42:52 hard-locale: Rename LIB_HARD_LOCALE to HARD_LOCALE_LIB. * modules/hard-locale (configure.ac): Rename LIB_HARD_LOCALE to HARD_LOCALE_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 353a6ecc 2023-01-07T11:39:17 getrandom: Rename LIB_GETRANDOM to GETRANDOM_LIB. * m4/getrandom.m4: Rename LIB_GETRANDOM to GETRANDOM_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible ef1a2a94 2023-01-07T11:33:28 getlogin, getlogin_r: Rename LIB_GETLOGIN to GETLOGIN_LIB. * m4/getlogin.m4: Rename LIB_GETLOGIN to GETLOGIN_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 7acb45ce 2023-01-07T11:26:46 gethrxtime: Rename LIB_GETHRXTIME to GETHRXTIME_LIB. * m4/gethrxtime.m4: Rename LIB_GETHRXTIME to GETHRXTIME_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible 811de3ea 2023-01-07T11:23:26 fdatasync: Rename LIB_FDATASYNC to FDATASYNC_LIB. * m4/fdatasync.m4: Rename LIB_FDATASYNC to FDATASYNC_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible d024de43 2023-01-07T11:19:17 euidaccess: Rename LIB_EACCESS to EUIDACCESS_LIBGEN. * m4/euidaccess.m4: Rename LIB_EACCESS to EUIDACCESS_LIBGEN. All uses changed. * NEWS: Mention the change.
Bruno Haible 3afa36c5 2023-01-07T11:13:35 duplocale: Rename LIB_DUPLOCALE to DUPLOCALE_LIB. * m4/duplocale.m4: Rename LIB_DUPLOCALE to DUPLOCALE_LIB. All uses changed. * NEWS: Mention the change.
Bruno Haible fe1f3714 2023-01-07T11:10:34 clock_time: Rename LIB_CLOCK_GETTIME to CLOCK_TIME_LIB. * m4/clock_time.m4: Rename LIB_CLOCK_GETTIME to CLOCK_TIME_LIB. All uses changed. * NEWS: Mention the change.
Paul Eggert c5519971 2023-01-06T17:25:02 file-has-acl: don’t bother setting LIB_HAS_ACL * m4/acl.m4 (gl_FUNC_ACL, gl_FILE_HAS_ACL): Don’t set LIB_HAS_ACL. I think only Coreutils and Tar used it, and I’ve updated them.
Paul Eggert 7c7c8a51 2022-12-25T11:41:57 largefile: sync from Autoconf master * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): Test whether AC_SYS_YEAR2038 is defined when this macro is defined, not when it is used, as we now define AC_SYS_YEAR2038 later. (_AC_SYS_LARGEFILE_MACRO_VALUE): Remove. (_AC_SYS_YEAR2038_TEST_CODE, _AC_SYS_YEAR2038_OPTIONS) (_AC_SYS_YEAR2038_PROBE, _AC_SYS_YEAR2038_ENABLE) (_AC_SYS_YEAR2038_OPT_IN, AC_SYS_YEAR2038) (_AC_SYS_LARGEFILE_TEST_CODE, _AC_SYS_LARGEFILE_OPTIONS) (_AC_SYS_LARGEFILE_PROBE, _AC_SYS_LARGEFILE_ENABLE): New macros. (AC_SYS_LARGEFILE): Use them. * m4/year2038.m4: Remove. All mentions removed. * modules/largefile, modules/year2038 (configure.ac-early): Do not require gl_YEAR2038_EARLY. * modules/year2038 (Depends-on): Depend on largefile. (configure.ac): Require AC_SYS_YEAR2038, not gl_YEAR2038.
Paul Eggert c28598c3 2022-12-24T01:29:29 stdnoreturn: deprecate C23 says <stdnoreturn.h> is obsolescent, so deprecate the stdnoreturn module. I don't think it was being used anyway as it had too many problems. * modules/stdnoreturn: Mark as obsolete.
Paul Eggert ee37744d 2022-12-21T13:25:39 asctime, ctime: deprecate C23 deprecates asctime and ctime, so deprecate them in Gnulib too. * NEWS, doc/posix-functions/asctime.texi: * doc/posix-functions/ctime.texi: Mention this. * lib/time.in.h (ctime): Deprecate any ctime replacement. * modules/ctime: Now obsolete.
Bruno Haible 816e66d4 2022-11-03T13:32:42 dynarray: Rename to glibc-internal/dynarray. * modules/glibc-internal/dynarray: Renamed from modules/dynarray. * modules/glibc-internal/dynarray-tests: Renamed from modules/dynarray-tests. * modules/regex (Depends-on): Update. * NEWS: Mention this change and the previous one.
Bruno Haible 7a69bf6c 2022-11-03T03:17:37 scratch_buffer: Document last change. * NEWS: Mention last change.
Paul Eggert f5ad0b6b 2022-09-10T11:41:31 stdbool: upgrade from C99 to C23 Change the stdbool module so that it now emulates C23. The module now assumes C99. The old module (which assumes C89 and emulates C99) is still available as stdbool-c99, but is deprecated. * tests/test-stdbool.c [TEST_STDBOOL_H]: Do not include stdbool.h. (WORKING_BOOL): Depend on HAVE_C_BOOL, not __STDC_VERSION__. * m4/c-bool.m4, modules/c-bool, modules/c-bool-tests: * tests/test-c-bool.c: New files.
Bruno Haible 21222843 2022-07-24T12:58:44 bootstrap: Obey another environment variable GNULIB_REFDIR. * build-aux/bootstrap (usage): Document option --gnulib-refdir and environment variable GNULIB_REFDIR. Accept option --gnulib-refdir. When GNULIB_SRCDIR is specified, verify that it denotes a directory. Use $GNULIB_REFDIR, not $GNULIB_SRCDIR, as argument to git's --reference option. Improve an error message. * NEWS: Mention the change.
Ben Pfaff 5cec46db 2022-03-13T12:16:40 NEWS: Document Automake 1.14 requirement here too. It had been documented there before for the Automake 1.11 requirement. * NEWS: Mention the change.
Paul Eggert eee9ab09 2022-03-10T13:07:53 fts: revert change to use AT_NO_AUTOMOUNT * NEWS: Don’t mention AT_NO_AUTOMOUNT. * lib/fts.c (fts_stat): Don’t use AT_NO_AUTOMOUNT, as it has no effect with fstatat.
Paul Eggert eea9688d 2022-03-09T13:54:53 statat: now obsolete * lib/openat.h (statat, lstatat): Now deprecated. All uses removed, and replaced with fstatat. * modules/statat: Mark as obsolete, because it’s confusing: it’s not clear whether it should use AT_NO_AUTOMOUNT, which is implied by stat and by lstat, but not by fstatat. * tests/test-statat.c: Disable deprecated-declarations warnings.
Paul Eggert 9d3ec33a 2022-01-05T11:51:38 stack: also update stack_size to return idx_t * lib/stack.h (_GL_STACK_PREFIX (size)): Return idx_t, not size_t.
Paul Eggert 452e8a8f 2021-08-27T15:25:42 base32, base64: prefer signed to unsigned integers * lib/base32.c, lib/base64.c: Include ialloc.h instad of stdlib.h. Include intprops.h, verify.h. * lib/base32.c (base32_encode, base32_encode_alloc, get_8, decode_8) (base32_decode_ctx, base32_decode_alloc_ctx): * lib/base32.h (struct base32_decode_context): * lib/base64.c (base64_encode_fast, base64_encode) (base64_encode_alloc, get_4, decode_4, base64_decode_ctx) (base64_decode_alloc_ctx): * lib/base64.h (struct base64_decode_context): * tests/test-base32.c (main): * tests/test-base64.c (main): Prefer signed to unsigned integers. * lib/base32.c (base32_encode_alloc): * lib/base64.c (base64_encode_alloc): Use simpler and more-direct check for overflow, removing a TODO. * lib/base32.h, lib/base64.h: Include idx.h instead of stddef.h. * modules/base32, modules/base64 (Depends-on): Add ialloc, verify.
Paul Eggert 786bb6fb 2021-07-30T12:56:24 gnulib-common: update for C2x 2020-12-11 draft Use blessed-by-draft-standard way to test for [[__deprecated__]] etc.; this is supported by GCC 11 and the fallback code should work fine with GCC 10 and earlier, clang, etc. * NEWS, doc/attribute.texi: Mention that DEPRECATED etc. must now come first. * lib/fflush.c, lib/unistr.in.h: Do not include unused-parameter.h. All uses of _GL_UNUSED_PARAMETER (after parameters) replaced by _GL_ATTRIBUTE_MAYBE_UNUSED (before parameters). Although perhaps we need a shorter name for _GL_ATTRIBUTE_MAYBE_UNUSED, that should probably be in gnulib-common.m4, due to the ubiquity of this issue. And perhaps the snippet/unused-parameter module should be marked obsolete since it's no longer compatible with its old use. * m4/gnulib-common.m4 (gl_COMMON_BODY): Define the macro _GL_HAS_C_ATTRIBUTE, and use it instead of __STDC_VERSION__ in deciding whether to use C2x attributes like [[__deprecated__]]. (_GL_ATTRIBUTE_MAYBE_UNUSED): Fall back on _GL_ATTRIBUTE_UNUSED. (_GL_ATTRIBUTE_UNUSED): New macro, for labels where C2x [[maybe_unused]] do not work. (_GL_UNUSED, _GL_UNUSED_LABEL): Use it. * modules/fflush, modules/unistr/base (Depends-on): Remove snippet/unused-parameter. * modules/fflush (selinux/selinux.h, selinux/context.h) (selinux/label.h): Do not use $(UNUSED_PARAMETER). Remove useless chmod a-x.
Paul Eggert dc09dc08 2021-07-01T19:29:57 year2038: support glibc 2.34 _TIME_BITS=64 In glibc 2.34 on Linux kernels where time_t is traditionally 32-bit, defining _FILE_OFFSET_BITS=64 and _TIME_BITS=64 makes time_t 64-bit. Apps must define both macros. Gnulib applications that use either the largefile or the year2038 modules will want this behavior; largefile because it deals with the off_t and ino_t components of struct stat already, and so should also deal with time_t. * NEWS, doc/largefile.texi, doc/posix-headers/time.texi: Mention this. * m4/largefile.m4: Override two macros even in Autoconf 2.70 and later. (_AC_SYS_LARGEFILE_MACRO_VALUE): #undef $1 before #defining it, in case some other Gnulib macro has #defined it. (AC_SYS_LARGEFILE): Use AS_IF and AS_CASE to propagate AC_REQUIREs. Invoke gl_YEAR2038_BODY if we need to set _FILE_OFFSET_BITS=64. * m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): New macro. (gl_YEAR2038_BODY): New macro, with gl_YEAR2038’s old body; this macro is designed to be used directly instead of being AC_REQUIREd. It takes an argument specifying whether 64-bit is required. Set _TIME_BITS=64 if this makes a difference in time_t width when setting _FILE_OFFSET_BITS=64. Do not warn about 32-bit time_t more than once. * modules/largefile (Files): Add year2038.m4. (Depends-on): Require gl_YEAR2038_EARLY.
Bruno Haible f3553bde 2021-06-04T22:27:10 gnulib-tool: Stop doing license notice replacements. * gnulib-tool: Don't document --more-symlinks and --more-hardlinks any more. (do_copyrights): Remove variable. (func_import): Don't perform license updates on imported files any more. * pygnulib/GLInfo.py: Don't document --more-symlinks any more. * doc/gnulib-intro.texi (Copyright): Document the new situation. * doc/gnulib.texi (Module description): Likewise. * NEWS: Mention the change.
Bruno Haible 9ad38b46 2021-03-22T02:50:07 fatal-signal: Remove dependency upon xalloc. * lib/fatal-signal.h (at_fatal_signal): Change return type to 'int'. * lib/fatal-signal.c: Don't include xalloc.h. (at_fatal_signal): Return an error indicator. * modules/fatal-signal (Depends-on): Remove xalloc. * NEWS: Mention the change. * lib/term-style-control.c: Include xalloc.h. (ensure_other_signal_handlers): Test return value of at_fatal_signal. * lib/clean-temp.c (do_init_clean_temp): Likewise. * lib/wait-process.c (register_slave_subprocess): Likewise. * modules/term-style-control (Depends-on): Add xalloc-die. * modules/clean-temp (Depends-on): Likewise. * modules/wait-process (Depends-on): Likewise.
Paul Eggert ea2ccc2e 2021-03-21T17:37:00 diacrit: remove * MODULES.html.sh (func_all_modules), NEWS: Remove diacrit. * lib/diacrit.c, lib/diacrit.h, modules/diacrit: Remove.
Bruno Haible 2a200f4e 2021-03-07T10:45:58 Rename GNULIB_WCHAR_SINGLE to GNULIB_WCHAR_SINGLE_LOCALE. * lib/lc-charset-dispatch.c: Test GNULIB_WCHAR_SINGLE_LOCALE instead of GNULIB_WCHAR_SINGLE. * lib/wcwidth.c: Likewise. * tests/test-wcwidth.c: Likewise. * doc/multithread.texi: Document GNULIB_WCHAR_SINGLE_LOCALE instead of GNULIB_WCHAR_SINGLE. * NEWS: Document the change.
Paul Eggert 4e7f59b2 2021-03-01T00:24:05 parse-datetime2: new module This splits the old parse-datetime into two parts; the first is parse-datetime2 which supports all the new bells and whistles, the second is parse-datetime, which reverts to its original intent. This avoids some bogus diagnostics when build GNU Tar with gcc -flto -fanalyze and with --enable-gcc-warnings. And it slims down the executable a bit. * NEWS: Mention this. * lib/parse-datetime.y (parser_control) [!GNULIB_PARSE_DATETIME2]: Omit parse_datetime_debug member. (debugging): New function. Use it everywhere the old code would load parse_datetime_debug. (parse_datetime_body): New static function, with the body of the old parse_datetime2. Set pc.parse_datetime_debug only if GNULIB_PARSE_DATETIME2. (parse_datetime2, parse_datetime): Use this new function. (parse_datetime2) [!GNULIB_PARSE_DATETIME2]: Remove.
Bruno Haible 9042e045 2020-12-23T23:58:17 Don't execute scripts without '#!' marker through /bin/sh. This reflects the change done in glibc through <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>. * lib/spawni.c (internal_function): Remove macro. (script_execute): Remove function. (__spawni): Don't invoke script_execute. * lib/execute.c (execute): Disable the ENOEXEC handling. * lib/spawn-pipe.c (create_pipe): Likewise. * NEWS: Mention the change.
Bruno Haible 741631c9 2020-12-19T00:18:50 free-posix: New module, renamed from 'free'. * modules/free-posix: Renamed from modules/free. (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX, not GNULIB_FREE. * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not GNULIB_FREE. * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE. * doc/posix-functions/free.texi: Mention the module 'free-posix' and what it does. * NEWS: Mention that module 'free' no longer exists. * modules/canonicalize (Depends-on): Add free-posix. Remove free. * modules/canonicalize-lgpl (Depends-on): Likewise.
Bruno Haible 0299e540 2020-12-14T20:56:04 findprog-in: Allow overriding the current directory. * lib/findprog.h (find_in_given_path): Add directory argument. * lib/findprog-in.c (find_in_given_path): Likewise. * lib/execute.c (execute): Update caller. * lib/spawn-pipe.c (create_pipe): Likewise. * lib/windows-spawn.c (spawnpvech): Likewise. * NEWS: Mention the change.
Bruno Haible c893594d 2020-12-12T04:18:54 sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'. * lib/sh-quote.h (shell_quote_argv): Does not need write access to the elements of argv. * lib/sh-quote.c (shell_quote_argv): Likewise. * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and the return type. * lib/windows-spawn.c (prepare_spawn): Likewise. * lib/os2-spawn.h (prepare_spawn): Likewise. * lib/os2-spawn.c (prepare_spawn): Likewise. * lib/execute.h (execute): Does not need write access to the elements of prog_argv. * lib/execute.c (execute): Likewise. * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi): Likewise. * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in, create_pipe_out): Likewise. * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create): Likewise. * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise. * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise. * lib/javaexec.h (execute_fn): Does not need write access to the elements of prog_argv. * lib/javaexec.c (execute_java_class): Update variable types and remove casts to 'char *'. * lib/csharpexec.h (execute_fn): Does not need write access to the elements of prog_argv. * lib/csharpexec.c (execute_csharp_using_mono, execute_csharp_using_sscli): Update variable types and remove casts to 'char *'. * lib/javacomp.c (compile_using_envjavac, compile_using_gcj, compile_using_javac, compile_using_jikes, is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present, is_jikes_present): Update variable types and remove casts to 'char *'. * lib/javaversion.c (execute_and_read_line): Does not need write access to the elements of prog_argv. * lib/csharpcomp.c (compile_csharp_using_mono, compile_csharp_using_sscli): Update variable types and remove casts to 'char *'. * tests/test-sh-quote.c (main): Update variable types and remove casts to 'char *'. * tests/test-execute-main.c (main): Update variable types and remove casts to 'char *'. * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and remove casts to 'char *'. * NEWS: Mention the changes.
Bruno Haible 0949c47c 2020-12-02T17:52:00 spawn-pipe: Allow caller to specify directory for the subprocess. * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi): Add directory argument. * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h. (create_pipe): Add directory argument. If specified, resolve the program file name and make it absolute, first. Pass the directory to spawnpvech and posix_spawn_file_actions_addchdir. (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory argument. * modules/spawn-pipe (Depends-on): Add canonicalize, filename, findprog-in, posix_spawn, posix_spawn_file_actions_addchdir. * tests/test-spawn-pipe-main.c (test_pipe): Update. * NEWS: Mention the change. * lib/csharpcomp.c (compile_csharp_using_mono, compile_csharp_using_sscli): Update. * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present, is_gcj_43): Update. * lib/javaversion.c (execute_and_read_line): Update. * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update. * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
Bruno Haible 702cba00 2020-12-02T17:44:04 execute: Allow caller to specify directory for the subprocess. * lib/execute.h (execute): Add directory argument. * lib/execute.c: Include canonicalize.h, filename.h, findprog.h. (execute): Add directory argument. If specified, resolve the program file name and make it absolute, first. Pass the directory to spawnpvech and posix_spawn_file_actions_addchdir. * modules/execute (Depends-on): Add canonicalize, filename, findprog-in, posix_spawn, posix_spawn_file_actions_addchdir. * tests/test-execute-main.c: Add test for passing a directory. * tests/test-execute-child.c: Likewise. * tests/test-execute.sh: Update. * modules/execute-tests (Depends-on): Add mkdir. * NEWS: Mention the change. * lib/csharpcomp.c (compile_csharp_using_sscli): Update. * lib/csharpexec.c (execute_csharp_using_mono, execute_csharp_using_sscli): Update. * lib/javacomp.c (compile_using_envjavac, compile_using_gcj, compile_using_javac, compile_using_jikes, is_javac_present, is_jikes_present): Update. * lib/javaexec.c (execute_java_class): Update.
Bruno Haible 342e7423 2020-10-17T03:00:59 hash: Rename hash_delete to hash_remove. * lib/hash.h (hash_remove): Renamed from hash_delete. (hash_delete): New declaration. * lib/hash.c (hash_remove): Renamed from hash_delete. (hash_delete): New function. * tests/test-hash.c (main): Update. * lib/fts-cycle.c (leave_dir): Likewise. * NEWS: Mention the change.
Paul Eggert 7aadb238 2020-08-24T15:19:27 diffseq: new option NOTE_ORDERED Problem reported by Phil Sainty <https://bugs.gnu.org/42931>. * NEWS: Mention this. * lib/diffseq.h (NOTE_ORDERED): New macro. (IF_LINT2): Remove; no longer needed. (compareseq): If (!NOTE_ORDERED), recurse on the smaller subproblem and iterate to do the larger.
Bruno Haible 15ce5a63 2020-08-16T12:12:32 Assume autoconf >= 2.64. * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64. * DEPENDENCIES: Require Autoconf 2.64 or newer. * NEWS: Mention the changed requirement. * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros. * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros. * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed variables. * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise. * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise. * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise. (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++), gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN. * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)): Likewise. * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly. * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise. * m4/configmake.m4: Update comment.
Bruno Haible c1e59f5a 2020-08-01T15:04:52 libtextstyle[-optional]: Allow requesting a minimum version. * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument. (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE, gl_LIBTEXTSTYLE_SEARCH): New macros. * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE. * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an optional argument. Invoke, not require, gl_LIBTEXTSTYLE. * modules/libtextstyle-optional (configure.ac): Don't invoke gl_LIBTEXTSTYLE_OPTIONAL. * NEWS: Mention the changes.
Bruno Haible 64a1a824 2020-06-28T00:03:44 clean-temp: Don't force deletion of temporary files on native Windows. * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close argument. * lib/clean-temp.c (open_temp, fopen_temp): Likewise. * NEWS: Mention the change. * lib/javacomp.c (write_temp_file): Update.
Bruno Haible a9e307a5 2020-06-27T11:47:59 tempname et al.: Fix link errors on MSVC (regression from 2020-05-31). * modules/tempname (Link): New section. * modules/mkdtemp (Link): Likewise. * modules/clean-temp (Link): Likewise. * modules/mkstemp (Link): Likewise. * modules/stdlib-safer (Link): Likewise. * modules/mkstemps (Link): Likewise. * modules/mkostemp (Link): Likewise. * modules/mkostemps (Link): Likewise. * modules/tmpfile (Link): Likewise. * modules/tmpfile-safer (Link): Likewise. * modules/javacomp (Link): Add $(LIB_GETRANDOM). * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with $(LIB_GETRANDOM). * NEWS: Mention the changes.
Daiki Ueno e4a38aad 2020-05-27T08:14:44 read-file: add flags to modify reading behavior * lib/read-file.h (RF_BINARY): New define. (fread_file, read_file): Take FLAGS argument. (read_binary_file): Remove. * lib/read-file.c (internal_read_file): Merge into ... (read_file): ... here. * modules/read-file-tests (Files): Add "tests/macros.h". * tests/test-read-file.c (main): Refactor using ASSERT macro. * NEWS: Mention this change.
Bruno Haible 7bafd5ec 2020-04-28T01:50:17 getdate: Remove deprecated module. * modules/getdate: Remove file. * doc/getdate.texi: Remove file. * lib/getdate.h: Remove file. * NEWS: Mention the removal.
Bruno Haible ec803406 2020-04-28T01:43:26 realloc: Remove deprecated module. * modules/realloc: Remove file. * NEWS: Mention the removal.
Bruno Haible b5c5401e 2020-04-28T01:41:55 calloc: Remove deprecated module. * modules/calloc: Remove file. * NEWS: Mention the removal.
Bruno Haible 99725191 2020-04-28T01:40:19 malloc: Remove deprecated module. * modules/malloc: Remove file. * NEWS: Mention the removal.
Bruno Haible 17c1bcb5 2020-04-28T01:37:35 fnmatch-posix: Remove deprecated module. * modules/fnmatch-posix: Remove file. * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update. * NEWS: Mention the removal.
Bruno Haible 4510cafd 2020-04-28T01:33:26 pipe: Remove deprecated module. * modules/pipe: Remove file. * lib/pipe.h: Remove file. * NEWS: Mention the removal.
Bruno Haible 0abc38bd 2020-04-28T01:29:16 getopt: Remove deprecated module. * modules/getopt: Remove file. * NEWS: Mention the removal.
Bruno Haible ae006ab0 2020-04-28T01:25:01 remove-dest-slash: Remove deprecated module. * modules/rename-dest-slash: Remove file. * MODULES.html.sh (Compatibility checks for POSIX:2008 functions): Update. * NEWS: Mention the removal.
Bruno Haible 5a5a1808 2020-04-28T01:18:11 unictype/bidicategory-*: Remove deprecated modules. * modules/unictype/bidicategory-all: Remove file. * modules/unictype/bidicategory-byname: Remove file. * modules/unictype/bidicategory-name: Remove file. * modules/unictype/bidicategory-of: Remove file. * modules/unictype/bidicategory-test: Remove file. * MODULES.html.sh (Unicode string functions): Update. * NEWS: Mention the removals.
Bruno Haible 6b5ac8d5 2020-03-28T14:59:24 dosname: Change IS_RELATIVE_FILE_NAME. * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS, change the definition so that IS_RELATIVE_FILE_NAME("c:") is false. * NEWS: Mention the change.