]> Savannah Git Hosting - gnulib.git/log
gnulib.git
5 years agovasnprintf: Add support for printing wide characters using escapes.
Bruno Haible [Sun, 19 Apr 2020 15:02:16 +0000 (17:02 +0200)]
vasnprintf: Add support for printing wide characters using escapes.

* lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
(wctomb_fallback): New function.
(local_wctomb): New function.
(local_wcrtomb): New function or macro.
(MAX_ROOM_NEEDED): Adjust estimate for %lc.
(VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
%lc.

5 years agofts: remove NOSTAT_LEAF_OPTIMIZATION
Paul Eggert [Thu, 16 Apr 2020 03:50:32 +0000 (20:50 -0700)]
fts: remove NOSTAT_LEAF_OPTIMIZATION

It caused ‘find’ and ‘du’ to dump core, and it was useful
only for obsolescent Linux filesystems anyway.  Problem reported in:
https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
Quite possibly there is still a serious underlying fts bug with
tight-loop-check and mutating file systems, but if so this patch
should cause the bug to be triggered less often.
* lib/fts.c (enum leaf_optimization): Remove
NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
(S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
(leaf_optimization): Remove special cases for ReiserFS and XFS.
(fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
* lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
Remove.  All uses removed.

5 years agoexplicit_bzero: Improve code style.
Bastien Roucariès [Mon, 13 Apr 2020 22:48:16 +0000 (00:48 +0200)]
explicit_bzero: Improve code style.

* lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.

5 years agoexplicit_bzero: On native Windows, use SecureZeroMemory().
Bastien Roucariès [Sun, 12 Apr 2020 23:09:15 +0000 (01:09 +0200)]
explicit_bzero: On native Windows, use SecureZeroMemory().

* lib/explicit_bzero.c: Include <windows.h>.
(explicit_bzero): On native Windows, use SecureZeroMemory.

Signed-off-by: Bastien Roucariès <rouca@debian.org>
5 years agoexplicit_bzero: Use memset_s() when available.
Bastien Roucariès [Sun, 12 Apr 2020 23:09:14 +0000 (01:09 +0200)]
explicit_bzero: Use memset_s() when available.

Some OS define memset_s instead of explicit_bzero. Use it.

* lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
(explicit_bzero): Use memset_s when available.
* m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.

Signed-off-by: Bastien Roucariès <rouca@debian.org>
5 years agoexplicit_bzero tests: Fix test failure on OpenBSD 6.5.
Bastien Roucariès [Sun, 12 Apr 2020 23:09:13 +0000 (01:09 +0200)]
explicit_bzero tests: Fix test failure on OpenBSD 6.5.

Some implementation could add canaries after free failling the test.

* tests/test-explicit_bzero.c (test_heap): Handle implementations of
free() that overwrite the memory with canaries.

Signed-off-by: Bastien Roucariès <rouca@debian.org>
5 years agobootstrap: recommend git submodule update --init
Akim Demaille [Mon, 13 Apr 2020 15:39:38 +0000 (17:39 +0200)]
bootstrap: recommend git submodule update --init

Reported by Bruno Haible.
<https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>

* build-aux/bootstrap: recommand "git submodule update --init"
rather than "git submodule init".

5 years agoexplicit_bzero: Add tests.
Bruno Haible [Sun, 12 Apr 2020 19:00:10 +0000 (21:00 +0200)]
explicit_bzero: Add tests.

* tests/test-explicit_bzero.c: New file.
* modules/explicit_bzero-tests: New file.

5 years agoexplicit_bzero: Relicense under LGPLv2+.
Bruno Haible [Sat, 11 Apr 2020 23:00:47 +0000 (01:00 +0200)]
explicit_bzero: Relicense under LGPLv2+.

Approved by Paul Eggert.

* modules/explicit_bzero (License): Change to LGPLv2+.

5 years agofindprog, relocatable-prog: Ignore directories during PATH search.
Bruno Haible [Fri, 10 Apr 2020 13:57:10 +0000 (15:57 +0200)]
findprog, relocatable-prog: Ignore directories during PATH search.

Reported by Frederick Eaton via Dmitry Goncharov in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.

* lib/findprog.c (find_in_path): When the file found in a PATH element
is a directory, continue searching.
* modules/findprog (Depends-on): Add sys_stat, stat.
* modules/findprog-lgpl (Depends-on): Likewise.

* lib/progreloc.c (maybe_executable): When the file found in a PATH
element is a directory, continue searching.
* lib/relocwrapper.c: Update comments.
* modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
(configure.ac-early): New section.

5 years agoMODULES.html.sh: Support for reproducible builds from git-less tarballs.
Bruno Haible [Fri, 10 Apr 2020 12:21:47 +0000 (14:21 +0200)]
MODULES.html.sh: Support for reproducible builds from git-less tarballs.

Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.

* MODULES.html.sh: In a git-less tarball, use the date of the first
ChangeLog entry.

5 years agoFix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
Bruno Haible [Sat, 4 Apr 2020 15:34:32 +0000 (17:34 +0200)]
Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.

* m4/gettext.m4: Fix comments regarding the gettext library.
* m4/intl-thread-locale.m4: Likewise.
* m4/intlmacosx.m4: Likewise.
* m4/lcmessage.m4: Likewise.
* m4/nls.m4: Likewise.
* m4/po.m4: Likewise.
* m4/progtest.m4: Likewise.

5 years agoChangeLog: s/g/git/ in previous description.
Jim Meyering [Sat, 4 Apr 2020 15:14:04 +0000 (08:14 -0700)]
ChangeLog: s/g/git/ in previous description.

5 years agomaint: remove a stray inter-word space in a 6x-repeated comment
Jim Meyering [Sat, 4 Apr 2020 15:11:47 +0000 (08:11 -0700)]
maint: remove a stray inter-word space in a 6x-repeated comment

Induce the changes by running this:
  re='by  perl'; g grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
* build-aux/announce-gen: Change "by  perl" to "by perl".
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/prefix-gnulib-mk: Likewise.
* build-aux/update-copyright: Likewise.
* build-aux/useless-if-before-free: Likewise.
* tests/test-update-copyright.sh: Likewise.

5 years agoautoupdate
Karl Berry [Wed, 1 Apr 2020 16:52:15 +0000 (09:52 -0700)]
autoupdate

5 years agoUse module 'filename' instead of module 'dosname'.
Bruno Haible [Sat, 28 Mar 2020 14:54:12 +0000 (15:54 +0100)]
Use module 'filename' instead of module 'dosname'.

* lib/at-func.c: Include filename.h instead of dosname.h.
* lib/unlinkat.c: Likewise.
* modules/areadlinkat (Depends-on): Add filename. Remove dosname.
* modules/areadlinkat-with-size (Depends-on): Likewise.
* modules/faccessat (Depends-on): Likewise.
* modules/fchmodat (Depends-on): Likewise.
* modules/fchownat (Depends-on): Likewise.
* modules/fstatat (Depends-on): Likewise.
* modules/mkdirat (Depends-on): Likewise.
* modules/mkfifoat (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/selinux-at (Depends-on): Likewise.
* modules/symlinkat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.
* modules/utimensat (Depends-on): Likewise.

* lib/at-func2.c: Include filename.h instead of dosname.h.
* modules/linkat (Depends-on): Add filename. Remove dosname.
* modules/renameatu (Depends-on): Likewise.

* lib/canonicalize.c: Include filename.h instead of dosname.h.
* lib/canonicalize-lgpl.c: Likewise.
* modules/canonicalize (Depends-on): Add filename.
* modules/canonicalize-lgpl (Depends-on): Likewise.

* lib/dirname.h: Include filename.h instead of dosname.h.
* modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.

* lib/fchdir.c: Include filename.h instead of dosname.h.
* modules/fchdir (Depends-on): Add filename. Remove dosname.

* lib/openat.c: Include filename.h instead of dosname.h.
* modules/openat (Depends-on): Add filename. Remove dosname.

* lib/rmdir.c: Include filename.h instead of dosname.h.
* modules/rmdir (Depends-on): Add filename. Remove dosname.

* lib/savewd.c: Include filename.h instead of dosname.h.
* modules/savewd (Depends-on): Add filename. Remove dosname.

* lib/unlink.c: Include filename.h instead of dosname.h.
* modules/unlink (Depends-on): Add filename. Remove dosname.

* modules/relocatable-prog-wrapper (Depends-on): Add filename.
* lib/relocwrapper.c: Update comments.

* modules/lstat (Depends-on): Remove dosname.

5 years agodosname: Redirect to 'filename'.
Bruno Haible [Sat, 28 Mar 2020 14:12:41 +0000 (15:12 +0100)]
dosname: Redirect to 'filename'.

Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.

* lib/dosname.h: Remove all definitions. Just include filename.h.
* modules/dosname (Status, Notice): Mark as deprecated.
(Depends-on): Add 'filename'.

5 years agodosname: Change IS_RELATIVE_FILE_NAME.
Bruno Haible [Sat, 28 Mar 2020 13:59:24 +0000 (14:59 +0100)]
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.

5 years agofilename: Copy some definitions from module 'dosname'.
Bruno Haible [Sat, 28 Mar 2020 13:06:05 +0000 (14:06 +0100)]
filename: Copy some definitions from module 'dosname'.

* lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
(HAS_DEVICE): Document macro.
(FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
(IS_ABSOLUTE_FILE_NAME): Consider
FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
(IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
(IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
* lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
IS_PATH_WITH_DIR.
(DllMain): Update.
* lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
IS_PATH_WITH_DIR.
(find_executable): Update.
* NEWS: Document the deprecations.

5 years agogetopt-posix: port __GETOPT_PREFIX to macOS
Paul Eggert [Wed, 25 Mar 2020 19:13:33 +0000 (12:13 -0700)]
getopt-posix: port __GETOPT_PREFIX to macOS

* lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
Define to work around a problem with asm on macOS (Bug#40205).

5 years agoMODULES.html.sh: Add support for reproducible builds.
Bruno Haible [Sun, 22 Mar 2020 17:11:49 +0000 (18:11 +0100)]
MODULES.html.sh: Add support for reproducible builds.

Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.

* MODULES.html.sh: Print the date of the last gnulib commit, not the
current date.

5 years agoSeveral modules: Depend on stat.
Bruno Haible [Sun, 22 Mar 2020 12:38:45 +0000 (13:38 +0100)]
Several modules: Depend on stat.

* modules/acl-permissions (Depends-on): Add stat.
* modules/canonicalize (Depends-on): Likewise.
* modules/file-has-acl (Depends-on): Likewise.
* modules/fstat (Depends-on): Likewise.
* modules/fstatat (Depends-on): Likewise.
* modules/glob (Depends-on): Likewise.
* modules/javacomp (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/mkdir (Depends-on): Likewise.
* modules/pt_chown (Depends-on): Likewise.
* modules/ptsname_r (Depends-on): Likewise.
* modules/readlinkat (Depends-on): Likewise.
* modules/rename (Depends-on): Likewise.
* modules/renameatu (Depends-on): Likewise.
* modules/tmpdir (Depends-on): Likewise.
* modules/utimens (Depends-on): Likewise.
* modules/relocatable-prog-wrapper (Depends-on): Add largefile.
* modules/same (Depends-on): Remove stat.

5 years agoacl-permissions: Improve autoconf macro.
Bruno Haible [Sun, 22 Mar 2020 12:08:53 +0000 (13:08 +0100)]
acl-permissions: Improve autoconf macro.

* m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
more reliably.

5 years agofile-has-acl: Fix module description.
Bruno Haible [Sun, 22 Mar 2020 12:02:57 +0000 (13:02 +0100)]
file-has-acl: Fix module description.

* modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
(Depends-on): Depend on acl-permissions unconditionally.

5 years agounlink: Ensure errno also on native Windows.
Bruno Haible [Sun, 22 Mar 2020 01:41:16 +0000 (02:41 +0100)]
unlink: Ensure errno also on native Windows.

* modules/unlink (Depends-on): Add malloc-posix.

5 years agounlink: fix malloc errno typo
Paul Eggert [Sat, 21 Mar 2020 23:13:28 +0000 (16:13 -0700)]
unlink: fix malloc errno typo

Problem reported by Tim Rühsen in:
https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
* lib/unlink.c (rpl_unlink): Don’t mask malloc errno.

5 years ago*printf-posix: Fix m4 error (regression from 2020-03-08).
Bruno Haible [Mon, 16 Mar 2020 13:14:52 +0000 (14:14 +0100)]
*printf-posix: Fix m4 error (regression from 2020-03-08).

* m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
brackets in AC_COMPILE_IFELSE invocation.

5 years agocrypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
Bruno Haible [Sun, 8 Mar 2020 23:55:56 +0000 (00:55 +0100)]
crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.

* modules/crypto/af_alg (Depends-on): Add fstat.
* modules/renameatu (Depends-on): Likewise.
* modules/same (Depends-on): Likewise.
* modules/term-style-control (Depends-on): Likewise.

5 years ago*printf-posix: Document why it's overridden on some glibc systems.
Bruno Haible [Sun, 8 Mar 2020 21:54:02 +0000 (22:54 +0100)]
*printf-posix: Document why it's overridden on some glibc systems.

Reported by Adrian Bunk <bunk@stusta.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.

* doc/posix-functions/*printf.texi: Document the problem with the %n
directive on some glibc systems.
* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
the cross-compilation guesses accordingly.

5 years agoRevert my last commit, due to compilation errors.
Bruno Haible [Sat, 7 Mar 2020 19:44:47 +0000 (20:44 +0100)]
Revert my last commit, due to compilation errors.

5 years agoopen, openat: port to (O_RDWR | O_RDONLY) != 0
Paul Eggert [Sat, 7 Mar 2020 19:02:05 +0000 (11:02 -0800)]
open, openat: port to (O_RDWR | O_RDONLY) != 0

Potential portability problem reported by Dan Gohman in:
https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
* lib/open.c (open):
* lib/openat.c (rpl_openat):
Don’t assume O_RDONLY is disjoint from O_RDWR.

5 years agofindprog, relocatable-prog: Ignore directories during PATH search.
Bruno Haible [Sat, 7 Mar 2020 18:56:33 +0000 (19:56 +0100)]
findprog, relocatable-prog: Ignore directories during PATH search.

Reported by Frederick Eaton via Dmitry Goncharov in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.

* lib/findprog.c (find_in_path): When the file found in a PATH element
is a directory, continue searching.
* lib/progreloc.c (maybe_executable): Likewise.

5 years agoopenat: Fix theoretically possible issue on GNU/Hurd.
Bruno Haible [Sat, 7 Mar 2020 17:35:25 +0000 (18:35 +0100)]
openat: Fix theoretically possible issue on GNU/Hurd.

Reported by Dan Gohman <sunfish@mozilla.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.

* lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
ignore the bits that are also set in O_RDONLY.

5 years agogetloadavg: Don't use /usr/local when cross-compiling on AIX.
Bruno Haible [Mon, 24 Feb 2020 20:19:28 +0000 (21:19 +0100)]
getloadavg: Don't use /usr/local when cross-compiling on AIX.

Reported by Jens Rehsack <sno@netbsd.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.

* m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
cross-compiling.

5 years agofcntl: Add witness of gnulib override.
Bruno Haible [Mon, 24 Feb 2020 20:05:10 +0000 (21:05 +0100)]
fcntl: Add witness of gnulib override.

Reported by Jens Rehsack <sno@netbsd.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.

* lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
macros.

5 years agousers.txt: Add datamash, time
Assaf Gordon [Mon, 24 Feb 2020 06:07:42 +0000 (23:07 -0700)]
users.txt: Add datamash, time

* users.txt: Add datamash, time.

5 years agouni*/base: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 13:16:53 +0000 (14:16 +0100)]
uni*/base: Use 'restrict'.

* lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
from lib/regex.h.
* lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
* lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
'_UC_RESTRICT'.
* lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
u32_conv_to_encoding): Use '_UC_RESTRICT'.
* lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
* lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
'_UC_RESTRICT'.
* lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
* lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.

5 years agoglob, spawn: Use improved '_Restrict_' definition.
Bruno Haible [Sun, 23 Feb 2020 13:24:04 +0000 (14:24 +0100)]
glob, spawn: Use improved '_Restrict_' definition.

* lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
* lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.

5 years agocrypto/gc: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:29:14 +0000 (13:29 +0100)]
crypto/gc: Use 'restrict'.

* lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
* m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.

5 years agocrypto/hmac-*: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:27:35 +0000 (13:27 +0100)]
crypto/hmac-*: Use 'restrict'.

* lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
'restrict'.
* modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
* modules/crypto/hmac-sha1 (configure.ac): Likewise.
* modules/crypto/hmac-sha256 (configure.ac): Likewise.
* modules/crypto/hmac-sha512 (configure.ac): Likewise.

5 years agocrypto/sm3: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:25:28 +0000 (13:25 +0100)]
crypto/sm3: Use 'restrict'.

* lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
* m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.

5 years agocrypto/*-buffer: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:22:42 +0000 (13:22 +0100)]
crypto/*-buffer: Use 'restrict'.

* lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.

5 years agocrypto/sha512-buffer: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:20:18 +0000 (13:20 +0100)]
crypto/sha512-buffer: Use 'restrict'.

* lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
* modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/sha256-buffer: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:18:33 +0000 (13:18 +0100)]
crypto/sha256-buffer: Use 'restrict'.

* lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
* modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/sha1-buffer: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:16:44 +0000 (13:16 +0100)]
crypto/sha1-buffer: Use 'restrict'.

* lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
'restrict'.
* modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/md5-buffer: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:15:15 +0000 (13:15 +0100)]
crypto/md5-buffer: Use 'restrict'.

* lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
'restrict'.
* modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/md4: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:13:38 +0000 (13:13 +0100)]
crypto/md4: Use 'restrict'.

* lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
* modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/md2: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:12:16 +0000 (13:12 +0100)]
crypto/md2: Use 'restrict'.

* lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
* modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/rijndael: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:08:14 +0000 (13:08 +0100)]
crypto/rijndael: Use 'restrict'.

* lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
* modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/arctwo: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:05:57 +0000 (13:05 +0100)]
crypto/arctwo: Use 'restrict'.

* lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
* modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.

5 years agocrypto/arcfour: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 12:04:13 +0000 (13:04 +0100)]
crypto/arcfour: Use 'restrict'.

* lib/arcfour.h (arcfour_stream): Use 'restrict'.
* modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.

5 years agocareadlinkat: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:35:14 +0000 (12:35 +0100)]
careadlinkat: Use 'restrict'.

* lib/careadlinkat.h (careadlinkat): Use 'restrict'.
* modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
* modules/relocatable-prog-wrapper (configure.ac): Likewise.

5 years agoregex-quote: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:33:37 +0000 (12:33 +0100)]
regex-quote: Use 'restrict'.

* lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
* modules/regex-quote (configure.ac): Require AC_C_RESTRICT.

5 years agosystem-quote: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:32:25 +0000 (12:32 +0100)]
system-quote: Use 'restrict'.

* lib/system-quote.h (system_quote_copy): Use 'restrict'.
* modules/system-quote (configure.ac): Require AC_C_RESTRICT.

5 years agosh-quote: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:31:00 +0000 (12:31 +0100)]
sh-quote: Use 'restrict'.

* lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
* modules/sh-quote (configure.ac): Require AC_C_RESTRICT.

5 years agoquotearg: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:29:41 +0000 (12:29 +0100)]
quotearg: Use 'restrict'.

* lib/quotearg.h (quotearg_buffer): Use 'restrict'.
* m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.

5 years agoparse-datetime: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:27:58 +0000 (12:27 +0100)]
parse-datetime: Use 'restrict'.

* lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
'restrict'.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.

5 years agonstrftime: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:25:42 +0000 (12:25 +0100)]
nstrftime: Use 'restrict'.

* lib/strftime.h (nstrftime): Use 'restrict'.
* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.

5 years agombstok_r: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:24:01 +0000 (12:24 +0100)]
mbstok_r: Use 'restrict'.

* lib/string.in.h (mbstok_r): Use 'restrict'.

5 years agoxmemcoll: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:20:35 +0000 (12:20 +0100)]
xmemcoll: Use 'restrict'.

* lib/xmemcoll.h (xmemcoll): Use 'restrict'.
* modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.

5 years agomemcoll: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:19:28 +0000 (12:19 +0100)]
memcoll: Use 'restrict'.

* lib/memcoll.h (memcoll): Use 'restrict'.
* m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.

5 years agovasnprintf: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:17:44 +0000 (12:17 +0100)]
vasnprintf: Use 'restrict'.

* lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
* modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.

5 years agoc-vasnprintf: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:15:09 +0000 (12:15 +0100)]
c-vasnprintf: Use 'restrict'.

* lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
* modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.

5 years agoc-vsnprintf: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:13:40 +0000 (12:13 +0100)]
c-vsnprintf: Use 'restrict'.

* lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
* modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.

5 years agoc-snprintf: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:12:09 +0000 (12:12 +0100)]
c-snprintf: Use 'restrict'.

* lib/c-snprintf.h (c_snprintf): Use 'restrict'.
* modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.

5 years agoastrxfrm: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:06:29 +0000 (12:06 +0100)]
astrxfrm: Use 'restrict'.

* lib/astrxfrm.h (astrxfrm): Use 'restrict'.
* modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.

5 years agoamemxfrm: Use 'restrict'.
Bruno Haible [Sun, 23 Feb 2020 11:04:46 +0000 (12:04 +0100)]
amemxfrm: Use 'restrict'.

* lib/amemxfrm.h (amemxfrm): Use 'restrict'.
* modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.

5 years agofchmodat, lchmod: simplify
Paul Eggert [Sun, 23 Feb 2020 06:47:06 +0000 (22:47 -0800)]
fchmodat, lchmod: simplify

It appears that we may have overengineered lchmod and fchmodat,
in that the code was prepared for some hypothetical platforms but
was so complicated that it was hard to understand.  I attempted to
improve the situation by simplifying the code when this
simplification should not hurt on real platforms; we can re-add
complexity later to port to platforms I didn’t know about.
* lib/fchmodat.c (fchmodat):
* lib/lchmod.c (lchmod):
Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
around the /proc code that needs it.
* lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
* lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
Do not include <config.h> twice.
(orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
lchmod on any known hosts.
(lchmod): Do not defer to fchmodat, so that the lchmod module
need not depend on the fchmodat module (which is a circular
dependency).  Do not use openat, since ‘open’ suffices.
Coalesce calls to lchmod/chmod.
* lib/lchmod.c, lib/sys_stat.in.h (lchmod):
* m4/sys_stat_h.m4 (REPLACE_FSTAT):
* modules/lchmod (Depends-on, configure.ac):
* modules/sys_stat (Depends-on):
Do not worry about replacing lchmod, since that shouldn’t happen.
* m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
Do not worry about whether lchmod works on non-symlinks,
since every known lchmod works on non-symlinks.
* modules/lchmod (Depends-on):
Remove circular dependency on fchmodat.

5 years agolchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
Bruno Haible [Sat, 22 Feb 2020 23:44:20 +0000 (00:44 +0100)]
lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).

* lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
NEED_LCHMOD_NONSYMLINK_FIX is not defined.

5 years agoUse 'restrict' in all POSIX function declarations.
Bruno Haible [Sat, 22 Feb 2020 19:57:30 +0000 (20:57 +0100)]
Use 'restrict' in all POSIX function declarations.

* lib/iconv.in.h (iconv): Use 'restrict'.
* lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
* lib/monetary.in.h (strfmon_l): Likewise.
* lib/pthread.in.h (pthread_create, pthread_mutex_init,
pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
pthread_mutex_timedlock, pthread_rwlock_init,
pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
* lib/search.in.h (tdelete): Likewise.
* lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
* lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
Likewise.
* lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
strtoull): Likewise.
* lib/string.in.h (strncat): Likewise.
* lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
recvfrom): Likewise.
* lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
* lib/time.in.h (strftime): Likewise.
* lib/unistd.in.h (readlink, readlinkat): Likewise.
* lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
* m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
* m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
* m4/search_h.m4 (gl_SEARCH_H): Likewise.
* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
* m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
other *_h.m4 files.
* m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.

5 years agoUpdate NEWS.
Bruno Haible [Sat, 22 Feb 2020 22:47:00 +0000 (23:47 +0100)]
Update NEWS.

* NEWS: Mention the last change.

5 years agochmodat, chownat: new modules
Paul Eggert [Sat, 22 Feb 2020 20:09:11 +0000 (12:09 -0800)]
chmodat, chownat: new modules

These are split from fchmodat, fchownat.  GNU Emacs needs the
POSIX-specified fchmodat, but not the gnulib-specified chmodat and
lchmodat.  Split the latter two into a new module chmodat.
Similarly for fchownat.  This the same basic idea for why statat
was split from fstatat on 2013-01-23.
* lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
Rename from FCHMODAT_INLINE.  All uses changed.
* lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
Rename from FCHOWNAT_INLINE.  All uses changed.
* lib/openat.h:
(chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
(chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
* modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
* modules/fchmodat (Files:): Remove lib/fchmodat.c.
(configure.ac): Remove fchmodat module indicator.
(Makefile.am): Omit chmodat.c.
(Maintainer): Add self.
* modules/fchownat: Similarly, but for chown.
* tests/test-fchownat.c (BASE): Don't define if already defined.
(do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.

5 years agousers.txt: Add groff.
Bruno Haible [Sat, 22 Feb 2020 17:42:50 +0000 (18:42 +0100)]
users.txt: Add groff.

Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.

* users.txt: Add groff.

5 years agoUpdate gnulib-tool.py.TODO.
Bruno Haible [Sat, 22 Feb 2020 14:19:36 +0000 (15:19 +0100)]
Update gnulib-tool.py.TODO.

5 years agognulib-tool: Ensure copied files are writable.
Bruno Haible [Sat, 22 Feb 2020 14:15:01 +0000 (15:15 +0100)]
gnulib-tool: Ensure copied files are writable.

Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.

* gnulib-tool (func_ensure_writable): New function.
(func_ln_s, func_hardlink, func_lookup_file, func_import,
func_create_testdir, copy-file): Invoke it after copying a file.

5 years agousers.txt: Update.
Bruno Haible [Sat, 22 Feb 2020 13:53:02 +0000 (14:53 +0100)]
users.txt: Update.

* users.txt: Update URLs to projects that have moved or switched to git.
Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
over the summary view. Add gawk.

5 years agolargefile: remove _DARWIN_USE_64_BIT_INODE
Paul Eggert [Sat, 22 Feb 2020 01:27:02 +0000 (17:27 -0800)]
largefile: remove _DARWIN_USE_64_BIT_INODE

It’s not needed in currently-supported macOS versions, and was
problematic anyway in MacOS X 10.5 which was the only version that
could use it.  Problem reported by Peter Eisentraut in:
https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
* m4/largefile.m4 (AC_SYS_LARGEFILE):
Don’t define _DARWIN_USE_64_BIT_INODE.
This syncs with Autoconf master.

5 years agoAdd ‘extern "C"’ to count-one-bits.h etc.
Paul Eggert [Fri, 21 Feb 2020 20:41:33 +0000 (12:41 -0800)]
Add ‘extern "C"’ to count-one-bits.h etc.

This ports these .h files to C++.
Problem reported by Simon Marchi in:
https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
* lib/count-leading-zeros.h, lib/count-one-bits.h:
* lib/count-trailing-zeros.h: Add ‘extern "C"’.

5 years agousers.txt: update cmogstored URL
Eric Wong [Thu, 20 Feb 2020 00:35:30 +0000 (16:35 -0800)]
users.txt: update cmogstored URL

bogomips.org is expiring and .org is unlikely to be affordable
down the line, so it's on yhbt.net for now.

5 years agouninorm/decompose-internal: Avoid "no previous prototype" warning.
Bruno Haible [Wed, 19 Feb 2020 19:28:15 +0000 (20:28 +0100)]
uninorm/decompose-internal: Avoid "no previous prototype" warning.

Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.

* lib/array-mergesort.h: Accept an optional macro definition
STATIC_FROMTO.
* lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.

5 years agofchmodat: Make more future-proof.
Bruno Haible [Sun, 16 Feb 2020 22:01:08 +0000 (23:01 +0100)]
fchmodat: Make more future-proof.

* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
NEED_FCHMODAT_NONSYMLINK_FIX.
(gl_PREREQ_FCHMODAT): New macro.
* lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
/proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
without lchmod function.
* modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.

5 years agolchmod: Make more future-proof.
Bruno Haible [Sun, 16 Feb 2020 21:37:28 +0000 (22:37 +0100)]
lchmod: Make more future-proof.

* m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
(gl_PREREQ_LCHMOD): New macro.
* lib/lchmod.c (orig_lchmod): New function.
(lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
Return EOPNOTSUPP only on Linux and on platforms without lchmod
function.
* modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.

5 years agolchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
Bruno Haible [Sun, 16 Feb 2020 21:31:34 +0000 (22:31 +0100)]
lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).

* modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.

5 years agoxnanosleep: prefer pause, and get remaining time
Paul Eggert [Sun, 16 Feb 2020 20:47:52 +0000 (12:47 -0800)]
xnanosleep: prefer pause, and get remaining time

Problem reported by Vladimir Panteleev in:
https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
* lib/xnanosleep.c: Include intprops.h, unistd.h.
(xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
(xnanosleep): Obtain remaining time when nanosleep is interrupted.
* m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
* modules/xnanosleep (Depends-on): Add intprops, unistd.

5 years agolchmod: Improve cross-compilation guess.
Bruno Haible [Sun, 16 Feb 2020 18:51:25 +0000 (19:51 +0100)]
lchmod: Improve cross-compilation guess.

* m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
cross-compiling, guess depending on the platform.

5 years agofstrcmp: Add API to clean up resources.
Bruno Haible [Sun, 16 Feb 2020 12:49:49 +0000 (13:49 +0100)]
fstrcmp: Add API to clean up resources.

Reported by Akim Demaille <akim@lrde.epita.fr> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.

* lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
* lib/fstrcmp.c (fstrcmp_free_resources): New function.

5 years agowctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
Bruno Haible [Fri, 14 Feb 2020 18:44:08 +0000 (19:44 +0100)]
wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).

Reported by Christian Biesinger in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.

* lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
corresponding module is not enabled.
* tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
prototype if the corresponding module is not enabled.

5 years agofchmodat, lchmod: port to buggy Linux filesystems
Paul Eggert [Thu, 13 Feb 2020 18:41:10 +0000 (10:41 -0800)]
fchmodat, lchmod: port to buggy Linux filesystems

Problem reported by Florian Weimer in:
https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
* lib/fchmodat.c (fchmodat):
* lib/lchmod.c (lchmod):
Don’t assume that chmod on the O_PATH-opened fd will do
the right thing on a symbolic link.
* lib/fchmodat.c (fchmodat):
Don’t attempt to special-case
any flag value other than AT_SYMLINK_NOFOLLOW.

5 years agoautoupdate
Karl Berry [Wed, 12 Feb 2020 15:32:08 +0000 (07:32 -0800)]
autoupdate

5 years agolchmod: pacify Coverity CID 1491216
Paul Eggert [Wed, 12 Feb 2020 07:33:00 +0000 (23:33 -0800)]
lchmod: pacify Coverity CID 1491216

* lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
not complain about unreachable code at the ‘struct stat st;’
declaration.

5 years agocopysignf: Fix link error on HP-UX with cc.
Bruno Haible [Tue, 11 Feb 2020 03:13:39 +0000 (04:13 +0100)]
copysignf: Fix link error on HP-UX with cc.

* m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
HP-UX, set COPYSIGNF_LIBM to -lm.

5 years agopthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
Bruno Haible [Tue, 11 Feb 2020 02:58:39 +0000 (03:58 +0100)]
pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.

* modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
with $(LIB_SEMAPHORE).
* modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
with $(LIB_SEMAPHORE).

5 years agoptsname_r-tests: Avoid unused function warning.
Bruno Haible [Tue, 11 Feb 2020 02:26:14 +0000 (03:26 +0100)]
ptsname_r-tests: Avoid unused function warning.

* tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.

5 years agolchmod: Add tests.
Bruno Haible [Sat, 8 Feb 2020 20:24:35 +0000 (21:24 +0100)]
lchmod: Add tests.

* tests/test-lchmod.c: New file.
* modules/lchmod-tests: New file.

5 years agolchmod: Ensure declaration on HP-UX.
Bruno Haible [Sat, 8 Feb 2020 20:22:15 +0000 (21:22 +0100)]
lchmod: Ensure declaration on HP-UX.

* lib/sys_stat.in.h (lchown): Declare also on HP-UX.
* doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.

5 years agofchmodat: Strengthen tests.
Bruno Haible [Sat, 8 Feb 2020 19:47:58 +0000 (20:47 +0100)]
fchmodat: Strengthen tests.

* tests/test-fchmodat.c (BASE): New macro.
(main): Use it, to avoid conflicts with other unit tests. Verify that
fchmodat changed the file permission bits.

5 years agofchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
Bruno Haible [Sat, 8 Feb 2020 19:41:20 +0000 (20:41 +0100)]
fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).

* lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
'#undef __need_system_sys_stat_h'.

5 years agofchmodat: Improve cross-compilation guesses.
Bruno Haible [Sat, 8 Feb 2020 19:38:01 +0000 (20:38 +0100)]
fchmodat: Improve cross-compilation guesses.

* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
cross-compiling, guess depending on the platform.
* doc/posix-functions/fchmodat.texi: Clarify.

5 years agoFix compilation errors in a testdir created with --with-c++-tests.
Bruno Haible [Sat, 8 Feb 2020 16:39:26 +0000 (17:39 +0100)]
Fix compilation errors in a testdir created with --with-c++-tests.

* lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
since it does not work any more with g++ >= 4.4.

5 years agodoc: Update for glibc 2.31.
Bruno Haible [Sat, 8 Feb 2020 14:54:25 +0000 (15:54 +0100)]
doc: Update for glibc 2.31.

* doc/glibc-functions/pthread_clockjoin_np.texi: New file.
* doc/gnulib.texi: Include it.
* doc/pastposix-functions/h_errno.texi: Update.
* doc/posix-functions/*.texi: Likewise.