Log

Author Commit Date CI Message
Paul Eggert 00c62edb 2023-09-25T23:01:55 mbscasestr: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. This mirrors the recent changes to mbsstr. * lib/mbscasestr.c [GNULIB_MCEL_PREFER]: Include mcel.h not mbuiter.h. (mbchar_t, mb_equal) [GNULIB_MCEL_PREFER]: New type and function, to make it easier to use common code. (knuth_morris_pratt_multibyte): Don't assume mbchar_t's alignment is at least that of size_t. (knuth_morris_pratt_multibyte, mbscasestr) [GNULIB_MCEL_PREFER]: Use mcel API. * modules/mbscasestr (Depends-on): Add alignasof.
Bernhard Voelker 2b63182e 2023-09-24T18:13:50 maintainer-makefile: Fix syntax-check rules wrt README. * top/maint.mk (sc_readme_link_install): Change the value of the variable in_vc_files to contain a pattern for the README file. (sc_readme_link_copying): Likewise. Previously, the above rules always passed, because the generated list of files was empty. Bug introduced when adding the rules in commit 53b4bf3018.
Karl Berry fb0ad9fe 2023-09-22T08:40:19 autoupdate
Bruno Haible 724096f6 2023-09-22T09:36:13 striconveh, *vasnprintf, vasnwprintf: Make more virtual-memory friendly. * lib/striconveh.c (mem_cd_iconveh_internal): Mark hex as 'const'. * lib/vasnprintf.c (wctomb_fallback): Likewise.
Bruno Haible de88574e 2023-09-22T09:23:32 striconveh, *vasnprintf, vasnwprintf: Make more shared-library friendly. * lib/striconveh.c (mem_cd_iconveh_internal): Mark hex as 'const'. * lib/vasnprintf.c (wctomb_fallback): Likewise.
Paul Eggert b8083ec2 2023-09-21T12:46:52 mbschr, mbsrchr: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. * lib/mbschr.c, lib/mbsrchr.c: Include stdlib.h, for MB_CUR_MAX. [GNULIB_MCEL_PREFER]: Include mcel.h instead of mbuiterf.h. (mbschr, mbsrchr) [GNULIB_MCEL_PREFER]: Use mcel API.
Paul Eggert 18bf1bf1 2023-09-21T14:26:24 gnulib-common: don’t suppress -Wpedantic Problem reported by Pádraig Brady in: https://lists.gnu.org/r/bug-gnulib/2023-09/msg00130.html * m4/gnulib-common.m4 (_GL_HAVE___HAS_C_ATTRIBUTE): New macro. Use it instead of ‘defined __has_c_attribute’.
Paul Eggert e76d98ff 2023-09-21T14:23:58 crypto/sm3: rename gl_cv_* variable for clarity * m4/gc-sm3.m4 (gl_cv_libgcrypt_md_sm3): Rename from gl_cv_libcrypt_md_sm3 since this is unrelated to libcrypt.
Karl Berry 092abe9e 2023-09-21T07:07:09 autoupdate
Karl Berry 1a73d62b 2023-09-19T09:11:24 autoupdate
Paul Eggert 4d38340a 2023-09-17T14:34:43 intprops: pacify GCC -Wtype-limits * lib/intprops-internal.h: Pacify gcc (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1) x86-64 -Wtype-limits on bleeding-edge diffutils.
Bruno Haible c7194899 2023-09-16T11:28:23 lib-symbol-visibility: Fix a misnomer. * doc/lib-symbol-visibility.texi: Rename LIBFOO_DLL_EXPORTED to LIBFOO_SHLIB_EXPORTED. Prefer the term "shared library", since the term "DLL" applies only to Windows. * lib/relocatable.h (RELOCATABLE_SHLIB_EXPORTED): Renamed from RELOCATABLE_DLL_EXPORTED. Prefer the term "shared library", since the term "DLL" applies only to Windows. * lib/mbtowc-lock.c (SHLIB_EXPORTED): Renamed from DLL_EXPORTED. * lib/nl_langinfo-lock.c (SHLIB_EXPORTED): Likewise. * lib/setlocale-lock.c (SHLIB_EXPORTED): Likewise.
Bruno Haible 45d3a6fd 2023-09-16T01:09:31 acl-permissions: Fix compilation error on Solaris 11 (regr. 2023-09-04). * lib/set-permissions.c: Include minmax.h. * modules/acl-permissions (Depends-on): Add minmax.
Bruno Haible 579f2d6f 2023-09-15T17:40:10 readutmp: Fix crash when gdm is in use. Reported by Thorsten Kukuk <kukuk@suse.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00093.html>. * lib/readutmp.c (read_utmp_from_systemd): Don't use the value returned by sd_session_get_display if it is NULL.
Bruno Haible 211053a0 2023-09-14T16:03:36 doc: Mention libucontext. * doc/pastposix-functions/getcontext.texi: Mention libucontext. * doc/pastposix-functions/makecontext.texi: Likewise. * doc/pastposix-functions/setcontext.texi: Likewise. * doc/pastposix-functions/swapcontext.texi: Likewise.
Karl Berry 86d5c424 2023-09-14T06:52:49 autoupdate
Bruno Haible fbd3fbba 2023-09-13T16:31:56 mbfile: Add tests. * tests/test-mbfile.sh: New file. * tests/test-mbfile.c: New file. * modules/mbfile-tests: New file.
Bruno Haible 8ea0b6ff 2023-09-13T16:23:35 mbfile: Fix major bug (regression 2023-07-04). Reported by Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00088.html>. * lib/mbfile.h (mbfile_multi_getc): If bytes != -1, -2, -3, add the previous mbf->bufcount to bytes.
Pádraig Brady 0e8fd2c0 2023-09-11T19:31:53 gnu-web-doc-update: fix updating of manual directory * build-aux/gnu-web-doc-update: Correctly change to the 'manual' directory, since $tmp is a relative path. This avoids removing files outside of the 'manual' directory. Broken since commit e979787d.
Bruno Haible afd0db41 2023-09-10T23:33:41 Fix clang errors "different exception specifier" (regr. 2023-09-04). * lib/malloc.in.h (memalign): Don't use _GL_ATTRIBUTE_NOTHROW on platforms other than glibc systems. * lib/stdio.in.h (fdopen): Likewise. * lib/stdlib.in.h (aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Likewise. * lib/string.in.h (strdup, strndup): Likewise. * lib/sys_stat.in.h (getumask): Likewise. * lib/wchar.in.h (wcsdup): Likewise.
Paul Eggert 78b62f83 2023-09-09T17:44:12 propername: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. The following changes are in effect only if GNULIB_MCEL_PREFER. * lib/propername.c: Include mcel.h, not mbchar.h and mbuiter.h. (mbsstr_trimmed_wordbounded): Use mcel API. * modules/propername (Depends-on): Add c32isalnum.
Paul Eggert c793de02 2023-09-09T17:22:19 trim: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. The following changes are in effect only if GNULIB_MCEL_PREFER. * lib/trim.c: Include mcel.h, not mbchar.h and mbuiterf.h. (trim2): Use mcel API. * modules/trim (Depends-on): Add c32isspace.
Paul Eggert f039d18e 2023-09-09T17:14:15 mbsstr: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. * lib/mbsstr.c [GNULIB_MCEL_PREFER]: Include mcel.h not mbuiter.h. (mbchar_t, mb_equal) [GNULIB_MCEL_PREFER]: New type and function, to make it easier to use common code. (knuth_morris_pratt_multibyte): Don't assume mbchar_t's alignment is at least that of size_t. (knuth_morris_pratt_multibyte, mbsstr) [GNULIB_MCEL_PREFER]: Use mcel API. * modules/mbsstr (Depends-on): Add alignasof.
Paul Eggert aab8f270 2023-09-09T15:47:27 mbslen: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. The following changes are in effect only if GNULIB_MCEL_PREFER. * lib/mbslen.c: Include mcel.h instead of mbuiterf.h. (mbslen): Use mcel API.
Paul Eggert 17ca38df 2023-09-09T10:13:50 Remove tabs from mcel.h, mountlist.h, verify.h
Paul Eggert 08c28bd6 2023-09-09T09:53:02 chown: work around symlink issues on odd platforms Problem reported by Jordi Sanfeliu in: https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00116.html * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: Do not declare unused locals st, stat_valid. Redo to just call chown if arg is a symlink. This induces a race but is perhaps the best we can do easily on oddball platforms where chown does not follow symlinks.
Bruno Haible 11ee0fc8 2023-09-09T11:26:46 chown, lchown: Revisit platforms. * doc/posix-functions/chown.texi: Update platforms list. * doc/posix-functions/lchown.texi: Likewise. * lib/chown.c (rpl_chown): Add platform comments. * lib/lchown.c: Likewise.
Paul Eggert 88998ee4 2023-09-07T14:51:58 Update strings doc * doc/strings.texi: Mention mbiterf, mbuiterf, mcel, and mcel-prefer.
Paul Eggert 6887c632 2023-09-07T14:51:58 mbscasecmp: support GNULIB_MCEL_PREFER * lib/mbscasecmp.c: Include stdlib.h, since we use MB_CUR_MAX. Include uchar.h, for c32tolower. (GNULIB_MCEL_PREFER): Include mcel.h instead of mbuiterf.h. (mbscasecmp) [GNULIB_MCEL_PREFER]: Use mcel instead of mbuiterf. * modules/mbscasecmp (Depends-on): Add c32tolower, stdlib, uchar. Depend on mbuiterf only if not preferring mcel.
Paul Eggert 7219d38b 2023-09-07T14:51:58 exclude: support GNULIB_MCEL_PREFER Support mcel API for apps that prefer it. The following changes are in effect only if GNULIB_MCEL_PREFER. * lib/exclude.c: Include mcel.h instead of mbuiter.h. (string_hasher_ci): Use mcel_scanz instead of mbui_init, mbui_avail, mbui_cur, and mbui_advance. * modules/exclude: Do not depend on mbuiter.
Paul Eggert d9ad9a68 2023-09-07T14:51:56 mcel-bench-tests: new module * modules/mcel-bench-tests, tests/bench-mcel.c: New files. * tests/bench-multibyte.h (TEXT_LATIN_ASCII_LINE1) (TEXT_FRENCH_UTF8_LINE1, TEXT_GREEK_UTF8_LINE1) (TEXT_CHINESE_UTF8_LINE1): New macros. (text_random_bytes): New constant. * tests/bench.h (timing_output): Mark with _GL_UNUSED, since bench-mcel.c does not use it.
Paul Eggert 988b7b2f 2023-09-07T14:51:56 mcel-tests: new module * modules/mcel-tests, tests/test-mcel.c: New files
Paul Eggert 7b430a27 2023-09-07T14:51:57 mcel-prefer: new module * modules/mcel-prefer: New file.
Paul Eggert b93de667 2023-09-07T14:51:55 mcel: new module * lib/mcel.c, lib/mcel.h, modules/mcel: New files.
Bruno Haible 930d701f 2023-09-07T22:22:43 Don't use 'throw ()' in C++ 11 or newer. * lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (abort): Declare with _GL_ATTRIBUTE_NOTHROW instead of throw(). * lib/malloc.in.h (rpl_free, free): Likewise. * lib/stdlib.in.h (free): Likewise. * lib/string.in.h (rpl_free, free, memchr, memrchr, rawmemchr, strchrnul, strpbrk, strstr, strcasestr): Likewise. * lib/wchar.in.h (rpl_free, free): Likewise. * lib/getopt-cdefs.in.h (__THROW): Define to noexcept(true) for C++ 11 or newer. * lib/md5.h (__THROW): Likewise.
Bruno Haible 884b9adc 2023-09-07T17:49:48 Add info about recommended warning options with clang. * HACKING (Warning Options): Add info regarding clang.
Bruno Haible 317574cb 2023-09-07T14:39:12 uchar: Fix references to overridden functions with GNULIB_NAMESPACE. * lib/uchar.in.h (btoc32, c32isalnum, c32isalpha, c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace, c32isupper, c32isxdigit, c32tolower, c32toupper, c32width, c32snrtombs, c32srtombs, c32swidth, c32tob, mbsnrtoc32s, mbsrtoc32s, c32_get_type_test, c32_apply_type_test, c32_get_mapping, c32_apply_mapping): Use GNULIB_NAMESPACE:: prefix to refer to the gnulib overridden function. * modules/uchar (Depends-on): Add wctype-h. (Makefile.am): Substitute GNULIB_BTOWC, GNULIB_ISWDIGIT, GNULIB_ISWXDIGIT, GNULIB_WCWIDTH, GNULIB_WCSNRTOMBS, GNULIB_WCSRTOMBS, GNULIB_WCSWIDTH, GNULIB_WCTOB, GNULIB_MBSNRTOWCS, GNULIB_MBSRTOWCS, GNULIB_WCTYPE, GNULIB_ISWCTYPE, GNULIB_WCTRANS, GNULIB_TOWCTRANS.
Bruno Haible 49c2f9e8 2023-09-07T16:13:22 tests: Fix some clang -Wimplicit-fallthrough warnings. * tests/test-execute-main.c (main): Add 'break' statement. * tests/test-sys_file.c (main): Likewise.
Bruno Haible a96af06f 2023-09-07T16:05:33 unictype/category-none: Fix clang -Wpedantic warning. * lib/unictype/categ_none.c (_UC_CATEGORY_NONE): Use ISO C designated initializer syntax to initialize the intended field of the union.
Bruno Haible dd3baa92 2023-09-07T16:21:25 c-*snprintf: Fix some clang -Wmissing-prototypes warnings. * lib/c-snprintf.c: Include c-snprintf.h instead of <stdio.h>. * lib/c-vsnprintf.c: Include c-vsnprintf.h instead of <stdio.h>. * lib/c-vasnprintf.c: Include c-vasnprintf.h.
Bruno Haible 6eb0ce98 2023-09-07T02:25:30 argp: Fix clang -Wextra-semi-stmt warning. * lib/argp-help.c (SKIPWS): Remove trailing semicolon.
Bruno Haible 94746b7b 2023-09-07T02:20:05 doc: Refine documentation of MSVC support for shared libraries. * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries): Recommend to define BUILDING_SHARED as an Autoconf variable. Recommend to test DLL_EXPORT.
Bruno Haible 04be9561 2023-09-07T02:06:01 doc: Fix syntax error (regression 2023-09-03). * doc/posix-headers/sys_stat.texi: Correct @itemize / @end itemize nesting.
Bruno Haible 2923106d 2023-09-06T02:03:37 relocatable-lib-lgpl: Don't export symbols from static MSVC .obj files. Reported by Dmitry Bely <dmitry.bely@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-08/msg00002.html>. * lib/relocatable.h (RELOCATABLE_DLL_EXPORTED): Don't use __declspec(dllexport) when creating static .obj files with MSVC.
Bruno Haible e7347a85 2023-09-05T17:32:28 unigbrk/u8-grapheme-{next,prev} tests: Fix gcc -Wformat warnings. * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Use %tu, not %zu, to print a pointer difference. * tests/unigbrk/test-u16-grapheme-next.c (test_u16_grapheme_next): Likewise. * tests/unigbrk/test-u32-grapheme-next.c (test_u32_grapheme_next): Likewise. * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev): Likewise. * tests/unigbrk/test-u16-grapheme-prev.c (test_u16_grapheme_prev): Likewise. * tests/unigbrk/test-u32-grapheme-prev.c (test_u32_grapheme_prev): Likewise.
Bruno Haible 91fb520b 2023-09-05T16:36:11 stdint, *printf: Update doc about MSVC. * doc/posix-headers/stdint.texi: MSVC 14 has <stdint.h>. * doc/posix-functions/*printf.texi: Current mingw and MSVC 14 support the j, t, z size specifiers. * doc/glibc-functions/obstack_*printf.texi: Likewise.
Bruno Haible 8dcfd778 2023-09-05T15:55:24 tests: Ensure stderr output is displayed before abort(). * tests/atomic-int-gnulib.h (init_atomic_int): Call fflush(stderr) before abort(). * tests/atomic-int-isoc.h (init_atomic_int): Likewise. * tests/atomic-int-posix.h (init_atomic_int): Likewise. * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks): Likewise. * tests/unigbrk/test-u16-grapheme-breaks.c (test_u16_grapheme_breaks): Likewise. * tests/unigbrk/test-u32-grapheme-breaks.c (test_u32_grapheme_breaks): Likewise. * tests/unigbrk/test-uc-grapheme-breaks.c (test_uc_grapheme_breaks): Likewise. * tests/unigbrk/test-ulc-grapheme-breaks.c (main): Likewise. * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Likewise. * tests/unigbrk/test-u16-grapheme-next.c (test_u16_grapheme_next): Likewise. * tests/unigbrk/test-u32-grapheme-next.c (test_u32_grapheme_next): Likewise. * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev): Likewise. * tests/unigbrk/test-u16-grapheme-prev.c (test_u16_grapheme_prev): Likewise. * tests/unigbrk/test-u32-grapheme-prev.c (test_u32_grapheme_prev): Likewise.
Bruno Haible 761bc857 2023-09-05T13:00:38 threads-h: Modernize configure test. * m4/threads_h.m4 (gl_THREADS_H): In the test program, put the '_Thread_local' storage class specifier before the type.
Bruno Haible 4ae994fb 2023-09-05T12:36:03 Add info about recommended warning options. * HACKING: New section "Warning Options".
Bruno Haible 1b55eda2 2023-09-05T04:01:22 string-buffer tests: Fix a compilation error (regression from today). * tests/test-string-buffer.c: Include <wchar.h>.
Bruno Haible e03a21cf 2023-09-05T03:06:30 unistr/u{8,16,32}-strtok tests: Fix -Wanalyzer-allocation-size warnings. * tests/unistr/test-u-strtok.h (test_u_strtok): Correct values of input_len and delim_len.
Bruno Haible fc0b08e9 2023-09-05T00:58:37 sigpipe tests: Fix -Wanalyzer-unsafe-call-within-signal-handler warning. * tests/test-sigpipe.c (handler): Invoke _exit, not exit. * tests/test-raise.c (handler): Update comments after 2020-11-25 change.
Bruno Haible d8060f85 2023-09-05T00:44:01 argp: Distinguish NULL and '\0' from 0. * lib/argp-pin.c: Include <stddef.h>. (program_invocation_short_name, program_invocation_name): Use NULL instead of 0. * lib/argp-parse.c (convert_options, __argp_parse, __argp_input): Likewise. * lib/argp-fmtstream.c (__argp_make_fmtstream): Likewise. * lib/argp-help.c (make_hol, hol_entry_first_long, hol_find_entry, hol_append, hol_entry_help, argp_doc, _help): Likewise. (hol_usage): Use '\0' instead of 0.
Bruno Haible 5c297ca9 2023-09-05T00:22:30 argp: Fix gcc -Wanalyzer-use-of-uninitialized-value warning. * lib/argp-help.c (hol_find_entry): Access hol->entries only after having verified that hol->num_entries > 0.
Bruno Haible 8439ffff 2023-09-05T00:04:29 unictype/category-byname tests: Fix gcc -Wunused-value warning. * tests/unictype/test-categ_byname.c (main): Add some tests for category Nl.
Bruno Haible 6ac019ea 2023-09-04T23:38:34 unigbrk/uc-grapheme-breaks tests: Fix gcc -Wunused-function warning. * tests/unigbrk/test-uc-grapheme-breaks.c (graphemebreakproperty_to_string): Mark as possibly unused.
Bruno Haible bdf2b8d7 2023-09-04T23:32:22 bitset, nonblocking-* tests: Fix gcc -Wunused-but-set-variable warnings. * tests/test-bitset.c (check_zero): Mark 'i' as possibly unused. * tests/test-nonblocking-reader.h (full_read): Mark 'spent_time' as possibly unused.
Bruno Haible 835209cf 2023-09-04T21:54:09 Use statement-expressions without warnings, even in strict ISO C mode. Suggested by Eric Blake <eblake@redhat.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00025.html>. * lib/error.in.h (__gl_error_call): Use the variant with obvious control flow also with clang. Use '__extension__' to avoid -Wpedantic warnings. * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Define as macros even when __STRICT_ANSI__ is defined. But use '__extension__' to avoid -Wpedantic warnings. * lib/setenv.c (KNOWN_VALUE): Use '__extension__' to avoid -Wpedantic warnings. * lib/xalloc-oversized.h (xalloc_oversized): Use optimized variant even when __STRICT_ANSI__ is defined. But use '__extension__' to avoid -Wpedantic warnings.
Bruno Haible 0b61e454 2023-09-04T19:22:21 Fix some g++ warnings "has a different exception specifier". * m4/gnulib-common.m4 (gl_COMMON_BODY): Make _GL_ATTRIBUTE_NOTHROW effective in C++ mode. * lib/attribute.h (ATTRIBUTE_NOTHROW): Add a comment. * lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (memalign): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (fdopen): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (strdup, strndup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (getumask): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW. * lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition. (wcsdup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
Bruno Haible d36c3173 2023-09-04T17:43:50 unistr/u{8,16,32}-strchr tests: Fix some gcc -Wshadow warnings. * tests/unistr/test-strchr.h (test_strchr): Reduce of scope of local variable 'i'.
Bruno Haible b74c44b7 2023-09-04T17:35:29 unistr/u{8,16,32}-chr tests: Fix some gcc -Wshadow warnings. * tests/unistr/test-chr.h (main): Reduce of scope of local variables 'i' and 'page_boundary'.
Bruno Haible 52eecfbc 2023-09-04T17:24:35 pipe-filter-gi, pipe-filter-ii tests: Fix some gcc -Wshadow warnings. * tests/test-pipe-filter-gi1.c (main): Rename local variable 'argv' to 'tr_argv'. * tests/test-pipe-filter-ii1.c (main): Likewise.
Bruno Haible 5139147a 2023-09-04T17:07:33 argv-iter tests: Avoid gcc -Wanalyzer-out-of-bounds warning. * tests/test-argv-iter.c (main): Simplify logic.
Bruno Haible 22aa9161 2023-09-04T16:48:41 crypto/{gc-rijndael,rijndael} tests: Fix some gcc -Wshadow warnings. * tests/test-gc-rijndael.c (main): Rename local variable 'i' to 'round'. * tests/test-rijndael.c (main): Likewise.
Bruno Haible 9ec558f7 2023-09-04T16:39:07 threads-h tests: Fix gcc -Wold-style-declaration warning. * tests/test-thread_local.c (value0, value1, value2, value3): Put the 'thread_local' storage class specifier before the type.
Bruno Haible 6516e2e0 2023-09-04T16:23:39 ieee754-h tests: Fix some gcc -Wmissing-field-initializers warnings. * tests/test-ieee754-h.c (float_tests): Use float literals. (double_tests): Use double literals. Initialize frac_lo.
Bruno Haible efb739e5 2023-09-04T16:02:36 string-buffer tests: Fix a gcc -Wformat warning. * tests/test-string-buffer.c: Don't assume that wint_t has the same size as 'int'.
Bruno Haible fcf7fa41 2023-09-04T15:46:39 crypto/* tests: Fix some gcc -Wdiscarded-qualifiers warnings. * tests/test-gc-hmac-md5.c (main): Change type of variables with a string literal initializer to 'const char *'. * tests/test-gc-hmac-sha1.c (main): Likewise. * tests/test-gc-hmac-sha256.c (main): Likewise. * tests/test-gc-hmac-sha512.c (main): Likewise. * tests/test-gc-md2.c (main): Likewise. * tests/test-gc-md5.c (main): Likewise. * tests/test-gc-sha1.c (main): Likewise. * tests/test-gc-sha256.c (main): Likewise. * tests/test-gc-sha512.c (main): Likewise. * tests/test-hmac-md5.c (main): Likewise. * tests/test-hmac-sha1.c (main): Likewise. * tests/test-hmac-sha256.c (main): Likewise. * tests/test-hmac-sha512.c (main): Likewise.
Bruno Haible 891964a8 2023-09-04T15:20:59 file-has-acl: Avoid gcc warning. * lib/acl-internal.h (MIN): Remove definition.
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.
Paul Eggert a68d527a 2023-09-02T13:43:34 Warn about Bug#65599 with CIFS chmod/chown
Bruno Haible f1f0774a 2023-09-02T14:56:31 alignalloc: Fix license header. Suggested by Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00170.html>. * lib/alignalloc.h: Make license header consistent with module description. * lib/alignalloc.c: Likewise.
Bruno Haible b4d094f2 2023-09-01T15:04:38 crypto/{sha*,md5}-buffer: Add comment. * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Add comment regarding license.
Bruno Haible ce20e238 2023-09-01T12:55:30 crypto/{sha*,md5,sm3}-buffer: Fix --with-openssl (regr. 2023-08-26). Reported by Agostino Sarubbo via Sam James <sam@gentoo.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00000.html>. * lib/sha1.h: Test the OpenSSL major version before attempting to include <openssl/configuration.h>. * lib/sha256.h: Likewise. * lib/sha512.h: Likewise. * lib/md5.h: Likewise. * lib/sm3.h: Likewise.
Bruno Haible 3af1d7b0 2023-08-31T11:31:11 readutmp: Fix memory leak introduced by last commit. * lib/readutmp.c (read_utmp_from_systemd): If num_sessions == 0 and sessions != NULL, do call free (sessions).
Paul Eggert 1e6a26f9 2023-08-30T18:26:52 readutmp: fix core dump if --enable-systemd Problem reported by Thorsten Kukuk <https://bugs.gnu.org/65617>. * lib/readutmp.c (read_utmp_from_systemd): Don’t assume session_ptr != NULL if num_sessions == 0. In practice it can be null, and the man page OKs this behavior.
Bruno Haible 66748108 2023-08-30T21:10:20 doc: Mention the module 'wchar-single'. * doc/multithread.texi: Mention the module 'wchar-single'.
Paul Eggert da189cc1 2023-08-30T10:15:09 wchar-single: fix module broken since 2021 Adjust to 2021-03-07 change “Rename GNULIB_WCHAR_SINGLE to GNULIB_WCHAR_SINGLE_LOCALE”. Apparently nobody noticed that the module was broken. Perhaps we should obsolete the module? * modules/wchar-single (GNULIB_WCHAR_SINGLE_LOCALE): Define.
Bruno Haible a07c0e4b 2023-08-30T02:19:01 wctype: Rely on module iswpunct. * m4/wctype.m4 (gl_FUNC_WCTYPE): Also test whether the "punct" class works. * modules/wctype (Depends-on): Add iswpunct. * tests/test-iswctype.c (main): Add more tests of the "punct" class. * doc/posix-functions/wctype.texi: Mention the Android problem.
Bruno Haible 01b1c593 2023-08-30T02:18:40 c32ispunct: Rely on module iswpunct. * modules/c32ispunct (Depends-on): Add iswpunct. * tests/test-c32ispunct.c (main): Add a few more tests in the "C" locale.
Bruno Haible 15da9e79 2023-08-30T02:18:26 iswpunct: Add tests. * tests/test-iswpunct.c: New file, based on tests/test-iswdigit.c and tests/test-c32ispunct.c. * tests/test-iswpunct.sh: New file, based on tests/test-iswdigit.sh. * modules/iswpunct-tests: New file.
Bruno Haible 9753b53d 2023-08-30T02:18:06 iswpunct: New module. * lib/wctype.in.h (iswpunct): New declaration. * lib/iswpunct.c: New file. * m4/iswpunct.m4: New file. * m4/wctype_h.m4 (gl_WCTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_ISWPUNCT. (gl_WCTYPE_H_DEFAULTS): Initialize REPLACE_ISWPUNCT. * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWPUNCT, REPLACE_ISWPUNCT. * modules/iswpunct: New file. * doc/posix-functions/iswpunct.texi: Mention the new module.
Bruno Haible 2961a515 2023-08-30T02:18:00 wctype-h tests: Add more tests. * tests/test-wctype-h.c (main): Add a sanity check of iswpunct.
Bruno Haible 47a6017d 2023-08-30T01:38:59 iswdigit, iswxdigit: Fix documentation. * doc/posix-functions/iswdigit.texi: Mention the module 'iswdigit'. * doc/posix-functions/iswxdigit.texi: Mention the module 'iswxdigit'.
Bruno Haible 32ac0e00 2023-08-29T23:34:34 bootstrap: Try to prevent the user from setting GNULIB_URL to a wrong value. * top/bootstrap-funclib.sh: Explain GNULIB_URL better. * top/bootstrap: Likewise. * build-aux/bootstrap: Likewise.
Paul Eggert fbdc9a07 2023-08-29T13:06:41 maint: don’t say “clonable” either The spelling is controversial, and the word adds little of use here.
Bruno Haible 60c34616 2023-08-29T19:49:15 wctype: Fix documentation (mistake 2023-07-26). * doc/posix-functions/wctype.texi: The "blank" argument problem on mingw is now worked around by Gnulib.
Paul Eggert 521666d8 2023-08-29T07:59:57 rename: fix m4 comment * m4/rename.m4: Fix comment to match code.
Paul Eggert dd3ba5c1 2023-08-28T12:21:23 spelling fix: cloneable -> clonable * build-aux/bootstrap, top/bootstrap, top/bootstrap-funclib.sh: Spell it “clonable”, the more common English way, instead of “cloneable”, the Java way. Found while doing spelling check of Coreutils.
Paul Eggert 5f27affb 2023-08-26T23:19:12 trim: do not over-allocate result * lib/trim.c: Include mbuiterf.h, not mbiterf.h, since we no longer compute strlen at first. (trim2): Do not over-allocate result and then trim the parts we don’t want. Instead, skip unwanted input before allocating, so that the result is just the right size. Use mempcpy instead of memmove. Simplify. * modules/trim (Depends-on): Remove mbiterf, memmove, strdup, xalloc. Add mbuiterf, mempcpy, xalloc-die.
Paul Eggert c2925f5f 2023-08-26T23:19:11 propername: tune single-byte code * lib/propername.c (mbsstr_trimmed_wordbounded): Cache MB_CUR_MAX. Simplify word boundary detection in single-byte code.
Paul Eggert b9be00f4 2023-08-26T23:19:10 Tune single-byte code involving tolower * lib/mbmemcasecmp.c (mbmemcasecmp): * lib/mbscasecmp.c (mbscasecmp): * lib/mbscasestr.c (mbscasestr): * lib/mbsncasecmp.c (mbsncasecmp): * lib/mbspcasecmp.c (mbspcasecmp): Avoid some unnecessary calls to tolower. For example, if the two single-byte characters are equal before downcasing there is no need to call tolower on either character.
Bruno Haible bb5bb43a 2023-08-27T01:53:57 c32width tests: Avoid failure on FreeBSD 12. * tests/test-c32width.c (main): Skip two tests on FreeBSD < 13.
Bruno Haible a436f5f4 2023-08-26T22:45:17 crypto/{sha*,md5,sm3}-buffer: Ignore too old OpenSSL versions. * lib/sha1.h: If <openssl/macros.h> would give a compile-time error, undefine HAVE_OPENSSL_SHA1. * lib/sha256.h: If <openssl/macros.h> would give a compile-time error, undefine HAVE_OPENSSL_SHA256. * lib/sha512.h: If <openssl/macros.h> would give a compile-time error, undefine HAVE_OPENSSL_SHA512. * lib/md5.h: If <openssl/macros.h> would give a compile-time error, undefine HAVE_OPENSSL_MD5. * lib/sm3.h: If <openssl/macros.h> would give a compile-time error, undefine HAVE_OPENSSL_SM3.
Bruno Haible df9f8e6f 2023-08-26T20:41:31 selinux-h: Add a comment. * lib/se-selinux.in.h: Clarify which #endif belongs to the double-inclusion guard.
Bruno Haible 34e15d75 2023-08-26T20:39:04 sys_utsname: Make double-inclusion guard more robust. * lib/sys_utsname.in.h: Test the guard symbol a second time.
Bruno Haible 021cd86c 2023-08-26T20:38:51 sys_times: Make double-inclusion guard more robust. * lib/sys_times.in.h: Test the guard symbol a second time.
Bruno Haible d36e4c86 2023-08-26T20:33:39 uchar: Make #include_next work right. * lib/uchar.in.h: Use a split double-inclusion guard.
Paul Eggert c3676d20 2023-08-26T09:10:25 utimens: update FIXME date * lib/utimens.c (fdutimens): Change FIXME date to agree with similar FIXME in utimensat.c.
Paul Eggert 5357863b 2023-08-24T09:50:00 exclude: refactor for more-modern style * lib/exclude.c: Sort include directives. (fnmatch_pattern_has_wildcards, file_name_matches): Prefer ‘true’ to ‘1’. (string_hasher, string_compare, string_compare_ci): Avoid unnecessary locals. (string_free): Remove. All callers changed to just use ‘free’. (new_exclude_segment): Prefer xmalloc to xzalloc when it’s clearer to initialize ourselves. (new_exclude_segment, exclude_patopts, add_exclude_fp): Prefer nullptr to NULL. (free_exclude_segment, file_pattern_matches): Avoid unnecessary nesting. (free_exclude, fnmatch_no_wildcards, exclude_fnmatch) (excluded_file_name, add_exclude, add_exclude_fp): Assume C99 decl syntax. (fnmatch_no_wildcards): Prefer idx_t to size_t. (exclude_fnmatch, add_exclude_fp): Prefer ‘f (x)’ to ‘(*f) (x)’. (add_exclude): Help compiler by refactoring search for trailing slashes. Avoid unnecessary cast to char *. * modules/exclude (Depends-on): Add nullptr.