]> Savannah Git Hosting - gnulib.git/log
gnulib.git
22 months agostriconveh: Fix module description. stable-202207
Bruno Haible [Tue, 27 Jun 2023 11:25:33 +0000 (13:25 +0200)]
striconveh: Fix module description.

* modules/striconveh (Link): Add $(LIBUNISTRING).
* modules/striconveha (Link): New section.
* modules/xstriconveh (Link): New section.

22 months agostrerrorname_np: Add support for Solaris 11.4/sparc.
Bruno Haible [Sun, 25 Jun 2023 17:11:26 +0000 (19:11 +0200)]
strerrorname_np: Add support for Solaris 11.4/sparc.

* lib/strerrorname_np.c (strerrorname_np): Consider ECKSUM, EFRAGS.
Allow ENOANO to be overloaded to another value.
* tests/test-strerrorname_np.c (main): Likewise.

22 months agosigdescr_np tests: Avoid test failure on glibc/sparc.
Bruno Haible [Sun, 25 Jun 2023 16:40:19 +0000 (18:40 +0200)]
sigdescr_np tests: Avoid test failure on glibc/sparc.

* tests/test-sigdescr_np.c (main): Accept the glibc result for SIGEMT.
* doc/glibc-functions/sigdescr_np.texi: Mention two glibc deficiencies.

22 months agostrerrorname_np: Work around glibc bug on PowerPC, SPARC systems.
Bruno Haible [Sun, 25 Jun 2023 16:19:06 +0000 (18:19 +0200)]
strerrorname_np: Work around glibc bug on PowerPC, SPARC systems.

* m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Test also
strerrorname_np (EDEADLOCK).
* doc/glibc-functions/strerrorname_np.texi: Mention that glibc 2.36
still needs a workaround.

22 months agoautoupdate
Karl Berry [Sat, 24 Jun 2023 16:24:50 +0000 (09:24 -0700)]
autoupdate

22 months agolargefile: port to GNU/Linux alpha and s390x
Paul Eggert [Mon, 19 Jun 2023 21:08:06 +0000 (14:08 -0700)]
largefile: port to GNU/Linux alpha and s390x

This patch syncs from Autoconf master.
Problem reported by Matoro <https://bugs.gnu.org/64123>.
* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE):
New overridable macro FTYPE, to test types other than off_t.
(_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for
-D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t.
Needed for GNU/Linux on alpha and s390x.

22 months agoaligned-malloc, rmdir-errno: Sanitize configuration test result.
Bruno Haible [Thu, 15 Jun 2023 06:38:48 +0000 (08:38 +0200)]
aligned-malloc, rmdir-errno: Sanitize configuration test result.

* m4/malloc-align.m4 (gl_MALLOC_ALIGNMENT): Don't put a newline at the
end of the conftest.out file.
* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Don't put a newline at the
end of the confdir2/errno file.

22 months agomaint.mk: sc_prohibit_xalloc_without_use: also match alloc_die
Jim Meyering [Fri, 9 Jun 2023 17:15:30 +0000 (10:15 -0700)]
maint.mk: sc_prohibit_xalloc_without_use: also match alloc_die

* top/maint.mk (sc_prohibit_xalloc_without_use):
Adjust in-comment command's regexp so it also finds alloc_die,
whose declaration has a prefix of "_Noreturn" .
Also delete some now-obsolete commentary.
(_xa1): Regenerate the regexp using that command.
Reported by Pádraig Brady in
<https://lists.gnu.org/r/bug-gnulib/2023-06/msg00062.html>.

22 months agoxalloc-die: omit /*extern*/
Paul Eggert [Fri, 9 Jun 2023 18:13:19 +0000 (11:13 -0700)]
xalloc-die: omit /*extern*/

* lib/xalloc.h (xalloc_die): Omit leading "/*extern*/".
It complicates syntax checking; see:
https://lists.gnu.org/r/bug-gnulib/2023-06/msg00062.html
Plus, it’s inconsistent style: the other function declarations in
xalloc.h don’t use ‘extern’. (I’m not a fan of using ‘extern’ when
it’s just noise, as is the case here.)

22 months agomaint.mk: regenerate regex to reflect new functions in xalloc.h
Jim Meyering [Wed, 7 Jun 2023 03:49:22 +0000 (20:49 -0700)]
maint.mk: regenerate regex to reflect new functions in xalloc.h

* top/maint.mk (sc_prohibit_xalloc_without_use) [_xa1]:
Regenerate using the command listed in the comment.

22 months agoPut "/" at end of .gitignore directory names
Paul Eggert [Sun, 18 Jun 2023 06:51:02 +0000 (08:51 +0200)]
Put "/" at end of .gitignore directory names

* build-aux/bootstrap (symlink_to_dir, autogen):
Put slashes after .gitignore entries that name directories.

23 months agostriconveha: Don't crash if malloc() returns NULL.
Bruno Haible [Fri, 2 Jun 2023 18:11:41 +0000 (20:11 +0200)]
striconveha: Don't crash if malloc() returns NULL.

* lib/striconveha.c (mem_iconveha, str_iconveha): Check malloca() return
value.

23 months agosetenv: Don't crash if malloc() returns NULL.
Bruno Haible [Fri, 2 Jun 2023 18:11:36 +0000 (20:11 +0200)]
setenv: Don't crash if malloc() returns NULL.

* lib/setenv.c (rpl_setenv): Check malloca() return value.

23 months agogetprogname: Add support for ASCII-compatible environments in z/OS.
Bruno Haible [Thu, 1 Jun 2023 14:18:02 +0000 (16:18 +0200)]
getprogname: Add support for ASCII-compatible environments in z/OS.

Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-05/msg00198.html>.

* lib/getprogname.c (getprogname): On z/OS, when compiling for an
ASCII-compatible environment, convert the result from EBCDIC to ASCII.

23 months agoreadline: fix memory leak in replacement readline.
Nick Bowler [Wed, 31 May 2023 01:26:19 +0000 (21:26 -0400)]
readline: fix memory leak in replacement readline.

* lib/readline.c (readline): Free memory after getline failure.
Copyright-paperwork-exempt: true

23 months agoasyncsafe-spin, simple-atomic: Don't use -mcpu-v9 on NetBSD/sparc.
Bruno Haible [Wed, 24 May 2023 08:17:30 +0000 (10:17 +0200)]
asyncsafe-spin, simple-atomic: Don't use -mcpu-v9 on NetBSD/sparc.

Reported by Brandon Applegate in
<https://lists.gnu.org/archive/html/bug-gettext/2023-05/msg00042.html>.

* lib/asyncsafe-spin.c: Limit the SPARC workaround to Solaris.
* lib/simple-atomic.c: Likewise.
* m4/sparcv8+.m4 (gl_SPARC_V8PLUS): Likewise.

23 months agossize_t: Fix replacement on 64-bit Windows.
Bruno Haible [Sun, 21 May 2023 12:40:04 +0000 (14:40 +0200)]
ssize_t: Fix replacement on 64-bit Windows.

* m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Use prefix 'gl_' instead of 'gt_'.
Define ssize_t to 'long long' or 'long', depending on the width of
'size_t'.

23 months agoastrxfrm: Fix use-after-free bug.
Bruno Haible [Thu, 18 May 2023 16:01:06 +0000 (18:01 +0200)]
astrxfrm: Fix use-after-free bug.

* lib/astrxfrm.c (astrxfrm): Don't use memcpy after realloc succeeded.

23 months agognulib-tool: Ignore .orig and .rej files under modules/.
Bruno Haible [Thu, 18 May 2023 14:03:00 +0000 (16:03 +0200)]
gnulib-tool: Ignore .orig and .rej files under modules/.

* gnulib-tool (func_sanitize_modulelist): Exclude also files whose name
ends in .orig or .rej.
* pygnulib/GLModuleSystem.py (GLModuleSystem.file_is_module): Likewise.

23 months agouchar: Fix error when <uchar.h> is included twice.
Bruno Haible [Thu, 18 May 2023 13:39:19 +0000 (15:39 +0200)]
uchar: Fix error when <uchar.h> is included twice.

* lib/uchar.in.h: Fix double-inclusion guard.

2 years agowcswidth: Fix result in case of overflow.
Bruno Haible [Thu, 4 May 2023 21:22:14 +0000 (23:22 +0200)]
wcswidth: Fix result in case of overflow.

* lib/wcswidth-impl.h (wcswidth): Continue searching for a non-printing
wide character after the total width has become > INT_MAX.

2 years agovasnprintf: Make '0' flag handling more ISO C compliant.
Bruno Haible [Fri, 5 May 2023 10:39:25 +0000 (12:39 +0200)]
vasnprintf: Make '0' flag handling more ISO C compliant.

* lib/vasnprintf.c (VASNPRINTF): When doing the padding ourselves,
ignore the '0' flag if a precision is specified and the conversion is
one of d, i, o, u, x, X, b, B.

2 years agoextern-inline: port to pcc
Paul Eggert [Mon, 1 May 2023 18:19:05 +0000 (11:19 -0700)]
extern-inline: port to pcc

* m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to pcc
1.2.0.DEVEL 20220331, which doesn’t support extern inline
even though it claims to be GCC 4.3 and to support C11.

2 years agostdio: Avoid different configure results in different testdirs.
Bruno Haible [Sat, 29 Apr 2023 01:24:43 +0000 (03:24 +0200)]
stdio: Avoid different configure results in different testdirs.

* m4/stdio_h.m4 (gl_STDIO_H_EARLY): New macro, extracted from
gl_STDIO_H.
(gl_STDIO_H): Move the code that sets __USE_MINGW_ANSI_STDIO to
gl_STDIO_H_EARLY.
* modules/stdio (configure.ac-early): New section.

2 years agostdbool tests: Avoid compilation error with Sun C on Solaris 10.
Bruno Haible [Sat, 29 Apr 2023 01:18:17 +0000 (03:18 +0200)]
stdbool tests: Avoid compilation error with Sun C on Solaris 10.

* tests/test-stdbool.c (WORKING_BOOL): Set to 0 on Sun C.

2 years agohamt tests: Fix test failure with Sun C on Solaris 10/SPARC.
Bruno Haible [Sat, 29 Apr 2023 01:13:52 +0000 (03:13 +0200)]
hamt tests: Fix test failure with Sun C on Solaris 10/SPARC.

* tests/test-hamt.c (main): Finish with exit code 0.

2 years agofchdir tests: Fix test failure on native Windows.
Bruno Haible [Wed, 26 Apr 2023 22:48:21 +0000 (00:48 +0200)]
fchdir tests: Fix test failure on native Windows.

* modules/fchdir-tests (Depends-on): Add dup.

2 years agognulib-tool: For conditional dependencies, generate portable sh code.
Po Lu [Wed, 26 Apr 2023 02:57:31 +0000 (04:57 +0200)]
gnulib-tool: For conditional dependencies, generate portable sh code.

* gnulib-tool (func_emit_autoconf_snippets): Avoid sh syntax
'if ! variable', that does not work with Solaris /bin/sh.
* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Likewise.

2 years agoexpm1 tests: Avoid test failure on 32-bit mingw.
Bruno Haible [Tue, 25 Apr 2023 22:16:06 +0000 (00:16 +0200)]
expm1 tests: Avoid test failure on 32-bit mingw.

* tests/test-expm1.h (test_function): Mark y as 'volatile'.

2 years agopoll tests: Avoid test failure on native Windows.
Bruno Haible [Tue, 25 Apr 2023 11:38:47 +0000 (13:38 +0200)]
poll tests: Avoid test failure on native Windows.

* tests/test-poll.c (test_pipe): Disable the POLLHUP check also on
native Windows.
* doc/posix-functions/poll.texi: Mention also native Windows w.r.t.
POLLHUP.

2 years agoselect, pselect: Fix test failure on native Windows.
Bruno Haible [Mon, 24 Apr 2023 19:28:32 +0000 (21:28 +0200)]
select, pselect: Fix test failure on native Windows.

* lib/select.c (rpl_select): Fail if nfds is out-of-range.
* lib/pselect.c (pselect): Likewise.

2 years agoftell, ftello: Fix recognition of pipes on native Windows.
Bruno Haible [Mon, 24 Apr 2023 17:48:47 +0000 (19:48 +0200)]
ftell, ftello: Fix recognition of pipes on native Windows.

* m4/lseek.m4 (gl_FUNC_LSEEK): Update comment.
* m4/ftello.m4 (gl_FUNC_FTELLO): On native Windows, set REPLACE_FTELLO=1
always.

2 years agolseek: Fix module dependencies (regression 2021-11-15).
Bruno Haible [Mon, 24 Apr 2023 17:15:22 +0000 (19:15 +0200)]
lseek: Fix module dependencies (regression 2021-11-15).

* modules/lseek (Depends-on): Re-enable the msvc-nothrow dependency
also when WINDOWS_64_BIT_OFF_T is 0.

2 years agosystem-quote: Fix memory overrun bug on native Windows.
Bruno Haible [Mon, 24 Apr 2023 11:56:46 +0000 (13:56 +0200)]
system-quote: Fix memory overrun bug on native Windows.

* lib/system-quote.c (system_quote): Allocate enough space for the
result.

2 years agounicodeio tests: Avoid test failures on native Windows.
Bruno Haible [Mon, 24 Apr 2023 10:48:31 +0000 (12:48 +0200)]
unicodeio tests: Avoid test failures on native Windows.

* tests/test-unicodeio.c: Include localcharset.h.
(main): Handle C locales whose encoding is CP1252 or similar.
* modules/unicodeio-tests (Depends-on): Add localcharset.

2 years agocategory-none: Fix link errors on MSVC, when libunistring is installed.
Bruno Haible [Sun, 23 Apr 2023 18:19:50 +0000 (20:19 +0200)]
category-none: Fix link errors on MSVC, when libunistring is installed.

* modules/unictype/category-none (configure.ac): Remove
gl_LIBUNISTRING_MODULE invocation.
(Makefile.am): Compile unictype/categ_none.c always.

2 years agoAvoid some Autoconf "was expanded before it was required" warnings.
Bruno Haible [Sun, 23 Apr 2023 01:29:28 +0000 (03:29 +0200)]
Avoid some Autoconf "was expanded before it was required" warnings.

* m4/locale-ar.m4 (gt_LOCALE_AR): Define through AC_DEFUN_ONCE.
* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
* m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.

2 years agoposixtm tests: Avoid test failure on native Windows.
Bruno Haible [Sat, 22 Apr 2023 11:56:55 +0000 (13:56 +0200)]
posixtm tests: Avoid test failure on native Windows.

* tests/test-posixtm.c (T): On native Windows, disable test cases that
would fail.

2 years agogetumask: Make it work on native Windows.
Bruno Haible [Thu, 20 Apr 2023 21:21:42 +0000 (23:21 +0200)]
getumask: Make it work on native Windows.

* lib/getumask.c (getumask): When TMPDIR is unset, try TMP and TEMP.
* tests/test-getumask.c (ASSUME_UMASK_CONSTANT): Define to 1 on native
Windows.

2 years agoposixtm tests: Fix link error.
Bruno Haible [Thu, 20 Apr 2023 18:02:13 +0000 (20:02 +0200)]
posixtm tests: Fix link error.

* modules/posixtm-tests (Depends-on): Add stpcpy.

2 years agoreadtokens tests: Fix test failure on mingw.
Bruno Haible [Thu, 20 Apr 2023 17:03:27 +0000 (19:03 +0200)]
readtokens tests: Fix test failure on mingw.

* tests/test-readtokens.sh: Transform CRLF to LF in the output, before
comparing with the expected output.

2 years agoparse-duration tests: Fix test failure on mingw.
Bruno Haible [Thu, 20 Apr 2023 16:51:48 +0000 (18:51 +0200)]
parse-duration tests: Fix test failure on mingw.

* tests/test-parse-duration.sh: Transform CRLF to LF in the output,
before analyzing the output.

2 years agoFix uses of libwinpthread on mingw 10.
Bruno Haible [Thu, 20 Apr 2023 14:40:20 +0000 (16:40 +0200)]
Fix uses of libwinpthread on mingw 10.

* m4/threadlib.m4 (gl_WEAK_SYMBOLS): On mingw, set the result to
"guessing no".

2 years agoexecute tests: Fix compilation error on mingw (regression 2023-01-17).
Bruno Haible [Thu, 20 Apr 2023 11:23:52 +0000 (13:23 +0200)]
execute tests: Fix compilation error on mingw (regression 2023-01-17).

* tests/test-execute-main.c (main): Don't use SIGPIPE if it's not
defined.

2 years agoassert-h, verify: Fix compilation error in C++ mode with MSVC 14.30.
Bruno Haible [Thu, 20 Apr 2023 06:42:56 +0000 (08:42 +0200)]
assert-h, verify: Fix compilation error in C++ mode with MSVC 14.30.

* lib/verify.h (_Static_assert): In C++ mode with MSVC 14.1 or newer,
define merely to static_assert.
(static_assert): In C++ mode with MSVC 14.1 or newer, don't define.

2 years agochown tests: Fix link error on mingw 10.
Bruno Haible [Thu, 20 Apr 2023 00:29:26 +0000 (02:29 +0200)]
chown tests: Fix link error on mingw 10.

* modules/chown-tests (configure.ac): Test whether getgid() exists.
* modules/lchown-tests (configure.ac): Likewise.
* modules/fchownat-tests (configure.ac): Likewise.
* tests/test-chown.h (getgid): Define a fallback.
* tests/test-lchown.h (getgid): Likewise.

2 years agorandom: Fix compilation errors in C++ mode on mingw 10.
Bruno Haible [Thu, 20 Apr 2023 00:03:43 +0000 (02:03 +0200)]
random: Fix compilation errors in C++ mode on mingw 10.

* lib/stdlib.in.h (random, srandom): Disable _GL_CXXALIASWARN invocation
on non-glibc systems.

2 years agoilogbl: Work around a Cygwin 3.4.6 bug.
Bruno Haible [Tue, 18 Apr 2023 11:24:42 +0000 (13:24 +0200)]
ilogbl: Work around a Cygwin 3.4.6 bug.

* m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Also test the value of
ilogbl(NaN).
* doc/posix-functions/ilogbl.texi: Mention the new Cygwin bug.

2 years agofile-has-acl tests: Avoid test failures on Cygwin 3.4.6.
Bruno Haible [Tue, 18 Apr 2023 10:53:22 +0000 (12:53 +0200)]
file-has-acl tests: Avoid test failures on Cygwin 3.4.6.

* tests/test-file-has-acl.sh: Fix distinction between Linux setfacl and
Cygwin setfacl.

2 years agoc32isgraph tests: Avoid test failure on Cygwin 3.4.6.
Bruno Haible [Tue, 18 Apr 2023 07:51:21 +0000 (09:51 +0200)]
c32isgraph tests: Avoid test failure on Cygwin 3.4.6.

* tests/test-c32isgraph.c (main): Skip U+00A0 test on Cygwin.

2 years agoposix_spawn_file_actions_addclose tests: Avoid test failure on Cygwin.
Bruno Haible [Sun, 16 Apr 2023 11:41:17 +0000 (13:41 +0200)]
posix_spawn_file_actions_addclose tests: Avoid test failure on Cygwin.

* tests/test-posix_spawn_file_actions_addclose.c (main): Skip an
unportable test also on Cygwin.

2 years agoFix compilation errors of list, set, oset, map, omap in C++ mode.
Bruno Haible [Sat, 15 Apr 2023 16:05:57 +0000 (18:05 +0200)]
Fix compilation errors of list, set, oset, map, omap in C++ mode.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Define
_GL_BRACKET_BEFORE_ATTRIBUTE. In _GL_ATTRIBUTE_DEPRECATED,
_GL_ATTRIBUTE_MAYBE_UNUSED, _GL_ATTRIBUTE_NODISCARD, don't use the
bracket syntax if _GL_BRACKET_BEFORE_ATTRIBUTE is defined.

2 years agoisnan: Fix compilation error in C++ mode on FreeBSD 13.2.
Bruno Haible [Fri, 14 Apr 2023 22:46:57 +0000 (00:46 +0200)]
isnan: Fix compilation error in C++ mode on FreeBSD 13.2.

* lib/math.in.h (isnan): On FreeBSD 13.2 or newer, don't declare isnan
through _GL_MATH_CXX_REAL_FLOATING_DECL_2.

2 years agoialloc, gethrxtime: Restore GCC diagnostics options.
Bruno Haible [Thu, 13 Apr 2023 12:26:50 +0000 (14:26 +0200)]
ialloc, gethrxtime: Restore GCC diagnostics options.

* lib/ialloc.h: Invoke _GL_INLINE_HEADER_END.
* lib/xtime.h: Likewise.

2 years agoflexmember: Fix module description (regression 2016-09-07).
Bruno Haible [Thu, 13 Apr 2023 12:06:12 +0000 (14:06 +0200)]
flexmember: Fix module description (regression 2016-09-07).

* modules/flexmember (Include): Add "flexmember.h".

2 years agoMakefile: Fix a syntax alert.
Bruno Haible [Tue, 11 Apr 2023 17:34:50 +0000 (19:34 +0200)]
Makefile: Fix a syntax alert.

* Makefile: Indent commands with tabs, not spaces.

2 years agoyear2038: configure earlier
Paul Eggert [Mon, 10 Apr 2023 01:16:13 +0000 (18:16 -0700)]
year2038: configure earlier

* modules/year2038: Put AC_SYS_YEAR2038 in configure.ac-early
since it can affect later compilations with _TIME_BITS=64.

2 years agoc32is*: Ensure GNULIB_defined_mbstate_t is defined on AIX.
Bruno Haible [Sun, 9 Apr 2023 16:14:46 +0000 (18:14 +0200)]
c32is*: Ensure GNULIB_defined_mbstate_t is defined on AIX.

* m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Define through AC_DEFUN_ONCE.
* m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32): Require it.
* modules/c32isalnum (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4.
(configure.ac): Require gl_MBSTATE_T_BROKEN.
* modules/c32isalpha: Likewise.
* modules/c32isblank: Likewise.
* modules/c32iscntrl: Likewise.
* modules/c32isdigit: Likewise.
* modules/c32isgraph: Likewise.
* modules/c32islower: Likewise.
* modules/c32isprint: Likewise.
* modules/c32ispunct: Likewise.
* modules/c32isspace: Likewise.
* modules/c32isupper: Likewise.
* modules/c32isxdigit: Likewise.

2 years agombrtoc32: Add comments.
Bruno Haible [Sun, 9 Apr 2023 16:02:51 +0000 (18:02 +0200)]
mbrtoc32: Add comments.

* lib/mbrtoc32.c: Add comment regarding AIX.
* m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32): Add comment regarding
GNULIB_defined_mbstate_t.

2 years agoAvoid Autoconf "was expanded before it was required" warning.
Bruno Haible [Fri, 21 Apr 2023 01:59:19 +0000 (03:59 +0200)]
Avoid Autoconf "was expanded before it was required" warning.

* m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Define through
AC_DEFUN_ONCE.
* m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.

2 years agostriconveh tests: Avoid test failure on glibc 2.15.
Bruno Haible [Sat, 8 Apr 2023 12:45:16 +0000 (14:45 +0200)]
striconveh tests: Avoid test failure on glibc 2.15.

* tests/test-striconveh.c (main): Skip some of the GB18030 tests on
glibc < 2.16.

2 years agounistdio/*: Fix test failures (regression 2023-01-28).
Bruno Haible [Fri, 21 Apr 2023 01:14:44 +0000 (03:14 +0200)]
unistdio/*: Fix test failures (regression 2023-01-28).

* modules/unistdio/*printf (configure.ac): Bump required libunistring
version number.

2 years agoalignalloc: Fix link error on glibc 2.15 systems.
Bruno Haible [Thu, 6 Apr 2023 13:06:26 +0000 (15:06 +0200)]
alignalloc: Fix link error on glibc 2.15 systems.

* lib/alignalloc.h (ALIGNALLOC_VIA_ALIGNED_ALLOC): Set to 0 on
glibc 2.15 systems.

2 years agorandom_r: Fix compilation error on Haiku.
Bruno Haible [Wed, 5 Apr 2023 20:01:43 +0000 (22:01 +0200)]
random_r: Fix compilation error on Haiku.

* lib/stdlib.in.h: For random_r, include <stdint.h> always.
* modules/random_r (Depends-on): Depend on 'stdint' always.

2 years agoforkpty, openpty, login_tty: Fix link errors of the tests.
Bruno Haible [Wed, 5 Apr 2023 19:37:39 +0000 (21:37 +0200)]
forkpty, openpty, login_tty: Fix link errors of the tests.

* m4/pty.m4 (gl_PTY_LIB): On Haiku, set PTY_LIB to '-lbsd'.

2 years agostrerrorname_np: Fix compilation error on Haiku.
Bruno Haible [Wed, 5 Apr 2023 15:47:05 +0000 (17:47 +0200)]
strerrorname_np: Fix compilation error on Haiku.

* lib/strerrorname_np.c (strerrorname_np): Avoid conflict between
EDOOFUS and EINVAL.
* tests/test-strerrorname_np.c (main): Likewise.

2 years agobtowc: Fix file lists.
Bruno Haible [Wed, 5 Apr 2023 10:21:33 +0000 (12:21 +0200)]
btowc: Fix file lists.

* modules/btowc (Files): Add m4/codeset.m4.
* modules/c-dtoastr-tests (Files): Likewise.
* modules/c-ldtoastr-tests (Files): Likewise.
* modules/c-snprintf-tests (Files): Likewise.
* modules/c-vasprintf-tests (Files): Likewise.
* modules/c-vsnprintf-tests (Files): Likewise.
* modules/c-xvasprintf-tests (Files): Likewise.
* modules/nl_langinfo-tests (Files): Likewise.

2 years agoc32tob, c32is*, c32rtomb, mbrtoc32: Fix file lists.
Bruno Haible [Tue, 4 Apr 2023 21:08:48 +0000 (23:08 +0200)]
c32tob, c32is*, c32rtomb, mbrtoc32: Fix file lists.

* modules/c32tob (Files): Add m4/locale-fr.m4, m4/locale-zh.m4,
m4/codeset.m4.
* modules/c32isalnum (Files): Likewise.
* modules/c32isalpha (Files): Likewise.
* modules/c32isblank (Files): Likewise.
* modules/c32iscntrl (Files): Likewise.
* modules/c32isdigit (Files): Likewise.
* modules/c32isgraph (Files): Likewise.
* modules/c32islower (Files): Likewise.
* modules/c32isprint (Files): Likewise.
* modules/c32ispunct (Files): Likewise.
* modules/c32isspace (Files): Likewise.
* modules/c32isupper (Files): Likewise.
* modules/c32isxdigit (Files): Likewise.
* modules/c32rtomb (Files): Likewise.
* modules/mbrtoc32 (Files): Likewise.

2 years agobackupfile: fix bug when renaming from subdirectory
Pádraig Brady [Mon, 3 Apr 2023 17:06:22 +0000 (18:06 +0100)]
backupfile: fix bug when renaming from subdirectory

* lib/backupfile.c (backup_internal): Ensure we use the
appropriate offset if operating on a subdirectory,
i.e., on an updated sdir.
Fixes https://bugs.gnu.org/62607

2 years agoc32rtomb: Fix an autoconf test.
Bruno Haible [Tue, 4 Apr 2023 10:18:59 +0000 (12:18 +0200)]
c32rtomb: Fix an autoconf test.

* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): In a test program, include
<stddef.h>, for NULL.

2 years agotests: Set executable bit on more tests.
Bruno Haible [Mon, 3 Apr 2023 19:57:46 +0000 (21:57 +0200)]
tests: Set executable bit on more tests.

* tests/test-c-dtoastr.sh: Make executable.
* tests/test-c-ldtoastr.sh: Likewise.
* tests/test-immutable.sh: Likewise.

2 years agoUse the 'extern-inline' module explicitly where needed.
Bruno Haible [Mon, 3 Apr 2023 18:17:34 +0000 (20:17 +0200)]
Use the 'extern-inline' module explicitly where needed.

* modules/fdutimensat (Depends-on): Add extern-inline.
* modules/file-has-acl (Depends-on): Likewise.
* modules/hamt (Depends-on): Likewise.
* modules/relocatable-prog-wrapper (Depends-on): Likewise.
* modules/safe-alloc (Depends-on): Likewise.
* modules/xvasprintf (Depends-on): Likewise.

2 years agotrim: Fix trim_trailing result in multibyte locales.
Bruno Haible [Sun, 2 Apr 2023 19:03:55 +0000 (21:03 +0200)]
trim: Fix trim_trailing result in multibyte locales.

* lib/trim.c (trim2): Simplify algorithm for trim_trailing in multibyte
locales, to use 2 instead of 3 states.
(IF_LINT): Remove macro.

2 years agostddef: Fix __need_wint_t handling in case of two stddef.h overrides.
Bruno Haible [Sat, 1 Apr 2023 08:56:40 +0000 (10:56 +0200)]
stddef: Fix __need_wint_t handling in case of two stddef.h overrides.

* lib/stddef.in.h: Replace _GL_STDDEF_WINT_T with a symbol that depends
on the @GUARD_PREFIX@.

2 years agosnprintf: Avoid autoconf warning regarding gl_PRINTF_POSITIONS.
Bruno Haible [Thu, 30 Mar 2023 10:52:14 +0000 (12:52 +0200)]
snprintf: Avoid autoconf warning regarding gl_PRINTF_POSITIONS.

* m4/printf.m4 (gl_PRINTF_POSITIONS): Define through AC_DEFUN_ONCE.

2 years agois* tests: Ensure needed .m4 files are packaged.
Bruno Haible [Sat, 25 Mar 2023 17:40:24 +0000 (18:40 +0100)]
is* tests: Ensure needed .m4 files are packaged.

* modules/isfinite-tests (Files): Add m4/exponent*.m4.
* modules/isnan-tests (Files): Likewise.
* modules/isnanf-tests (Files): Add m4/exponentf.m4.
* modules/isnanf-nolibm-tests (Files): Likewise.
* modules/isnand-tests (Files): Add m4/exponentd.m4.
* modules/isnand-nolibm-tests (Files): Likewise.
* modules/isnanl-tests (Files): Add m4/exponentl.m4.
* modules/isnanl-nolibm-tests (Files): Likewise.
* modules/isinf-tests (Files): Reorder.

2 years agolargefile: sync from Autoconf master
Paul Eggert [Sun, 25 Dec 2022 19:41:57 +0000 (11:41 -0800)]
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.

2 years agolargefile, year2038: simplify if Autoconf 2.72
Paul Eggert [Tue, 9 Aug 2022 18:12:05 +0000 (11:12 -0700)]
largefile, year2038: simplify if Autoconf 2.72

* m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE)
(_AC_SYS_LARGEFILE_MACRO_VALUE):
* m4/year2038.m4 (gl_YEAR2038_EARLY, gl_YEAR2038, gl_YEAR2038_BODY):
Adjust to Autoconf 2.72, which should contain the Gnulib
patches in this area and so should not need to be overridden.

2 years agoprintf-posix tests: Fix compilation error (regression 2021-08-28).
Bruno Haible [Fri, 24 Mar 2023 01:45:09 +0000 (02:45 +0100)]
printf-posix tests: Fix compilation error (regression 2021-08-28).

* modules/printf-posix-tests (Files): Add tests/qemu.h.

2 years agognu-web-doc-update: don't use host alias, cvs.sv.gnu.org
Jim Meyering [Thu, 23 Mar 2023 02:51:12 +0000 (19:51 -0700)]
gnu-web-doc-update: don't use host alias, cvs.sv.gnu.org

* build-aux/gnu-web-doc-update: Use hostname cvs.savannah.gnu.org,
not cvs.sv.gnu.org. Using the shorter alias would elicit this:
  $ pkg=grep ; cvs -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg
  Bad server host key: Invalid key length

2 years agounistdio/u*-vasnprintf: Fix conversion of %Id directive result.
Bruno Haible [Wed, 22 Mar 2023 05:13:18 +0000 (06:13 +0100)]
unistdio/u*-vasnprintf: Fix conversion of %Id directive result.

* lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's result is
entirely ASCII if the directive contain the glibc 'I' flag.

2 years agognupload: correct SFTP connection URL
Ar Rakin [Mon, 20 Mar 2023 07:21:27 +0000 (07:21 +0000)]
gnupload: correct SFTP connection URL

Approved by Sergey Poznyakoff in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00078.html>.

* build-aux/gnupload: fix gnu.org.ua SFTP connection URL:
puszcza.gnu.org.ua -> download.gnu.org.ua

2 years agomemrchr tests: Avoid GCC warning.
Bruno Haible [Mon, 20 Mar 2023 18:46:06 +0000 (19:46 +0100)]
memrchr tests: Avoid GCC warning.

* tests/test-memrchr.c: Don't use '#pragma GCC diagnostic' for GCC
versions older than 4.7.

2 years agovasnprintf: Fix potentially wrong zero-padding.
Bruno Haible [Wed, 22 Mar 2023 21:42:58 +0000 (22:42 +0100)]
vasnprintf: Fix potentially wrong zero-padding.

* lib/vasnprintf.c (VASNPRINTF): Fix zero-padding when the result starts
with a prefix "0x" or "0b".

2 years agotest-pselect, test-select: use different ports
Paul Eggert [Sun, 19 Mar 2023 23:06:34 +0000 (16:06 -0700)]
test-pselect, test-select: use different ports

I have observed rare and hard-to-reproduce problems with the GNU
grep release candidate with ‘make -j5 check’ on Fedora 37 x86-64.
One possibility is that test-pselect and test-select interfere
with each other somehow when run simultaneously, as they use the
same port.  Work around this possibility by using different ports
from each other, and from test-poll (which also uses 12345).
Of course it’d be better if all these tests used system-assigned
ports, but I assume that’d take more work.
* tests/test-pselect.c, tests/test-select.c (TEST_PORT): New macro.
* tests/test-select.h (TEST_PORT): Remove.

2 years agovasnprintf: Fix potential failure on OpenBSD.
Bruno Haible [Wed, 22 Mar 2023 21:37:32 +0000 (22:37 +0100)]
vasnprintf: Fix potential failure on OpenBSD.

* lib/vasnprintf.c (VASNPRINTF): Don't use the %n directive on OpenBSD.

2 years agostddef: Fix a compilation error on AIX 7.2 with xlclang.
Bruno Haible [Thu, 16 Mar 2023 13:04:26 +0000 (14:04 +0100)]
stddef: Fix a compilation error on AIX 7.2 with xlclang.

* lib/stddef.in.h (__CLANG_MAX_ALIGN_T_DEFINED): Define whenever we
define GNULIB_defined_max_align_t.

2 years agofts: fail gracefully when out of memory
ChuanGang Jiang [Mon, 27 Feb 2023 11:46:12 +0000 (11:46 +0000)]
fts: fail gracefully when out of memory

* lib/fts.c (fts_read): Set errno==ENOMEM and return NULL
when setup_dir() fails, rather than hitting an assertion later.

2 years agodfa: Avoid warnings with some Apple clang versions.
Bruno Haible [Sun, 26 Feb 2023 15:56:19 +0000 (16:56 +0100)]
dfa: Avoid warnings with some Apple clang versions.

Reported by Werner Lemberg <wl@gnu.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00159.html>.

* lib/dfa.c (FALLTHROUGH): When __apple_build_version__ is defined,
ignore __clang_major__.
References:
https://en.wikipedia.org/wiki/Xcode#Xcode_11.0_-_14.x_(since_SwiftUI_framework)_2
https://github.com/apple/llvm-project/blob/swift-5.3-RELEASE/clang/test/Sema/fallthrough-attr.c

2 years agolseek: avoid SEEK_HOLE bugs in FreeBSD, macOS
Paul Eggert [Sun, 19 Feb 2023 06:05:24 +0000 (00:05 -0600)]
lseek: avoid SEEK_HOLE bugs in FreeBSD, macOS

This attempts to fix <https://bugs.gnu.org/61386>, a bug in GNU cp
caused by a serious data corruption bug in FreeBSD and macOS.
* doc/posix-functions/lseek.texi: Mention the bug.
* lib/unistd.in.h (SEEK_DATA, SEEK_HOLE): Undef in macOS < 13 and
FreeBSD < 14.  FreeBSD fixed the bug sometime during FreeBSD 13
<https://bugs.freebsd.org/256205>, so the "FreeBSD < 14" is
conservative.  It’s unknown when Apple will fix macOS so use
macOS "9999" as a placeholder.
* m4/lseek.m4 (gl_FUNC_LSEEK): Replace lseek if on one of the
above platforms.

2 years agohamt: Detect GCC version correctly.
ChuanGang Jiang [Mon, 13 Feb 2023 12:35:43 +0000 (13:35 +0100)]
hamt: Detect GCC version correctly.

* lib/hamt.h:Use __GNUC_MINOR__, not  __GNUC_MINOR.

2 years agoterminfo, termcap: Avoid wrong configure result with clang ≥ 15.
Bruno Haible [Sat, 11 Feb 2023 23:36:10 +0000 (00:36 +0100)]
terminfo, termcap: Avoid wrong configure result with clang ≥ 15.

clang 15 reports an error for -Wint-conversion by default.

Reported by Sam James <sam@gentoo.org> in
<https://savannah.gnu.org/bugs/?63793>.

* m4/terminfo.m4 (gl_TERMINFO_BODY): Avoid a -Wint-conversion warning
when testing for tparam and tparm.
* m4/termcap.m4 (gl_TERMCAP_BODY): Likewise.

2 years agounilbrk: Don't compile unused functions outside of libunistring.
Bruno Haible [Sat, 11 Feb 2023 19:10:21 +0000 (20:10 +0100)]
unilbrk: Don't compile unused functions outside of libunistring.

* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
compile outside of libunistring.
* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
Likewise.
* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
Likewise.
* lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
Likewise.
* lib/unilbrk/u8-width-linebreaks.c (u8_width_linebreaks): Likewise.
* lib/unilbrk/u16-width-linebreaks.c (u16_width_linebreaks): Likewise.
* lib/unilbrk/u32-width-linebreaks.c (u32_width_linebreaks): Likewise.
* lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
* tests/unilbrk/test-u8-possible-linebreaks.c (main): Outside of
libunistring, don't test the backward compatibility function.
* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
* tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
* tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
* tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.

2 years agosigsegv: Fix a compilation error on OpenBSD with clang ≥ 16.
Bruno Haible [Sat, 11 Feb 2023 17:48:08 +0000 (18:48 +0100)]
sigsegv: Fix a compilation error on OpenBSD with clang ≥ 16.

* lib/sigsegv.c (install_for): Add a cast when assigning to
action.sa_sigaction.

2 years agomkfifoat: Fix crash on macOS 12.
Bruno Haible [Thu, 2 Mar 2023 19:52:16 +0000 (20:52 +0100)]
mkfifoat: Fix crash on macOS 12.

* m4/gnulib-common.m4 (gl_PREPARE_CHECK_FUNCS_MACOS,
gl_CHECK_FUNCS_MACOS): New macros.
* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Test for mknodat and mkfifoat using
gl_CHECK_FUNCS_MACOS instead of AC_CHECK_FUNCS_ONCE.

2 years agochown, lchown, fchownat tests: Avoid test failure on macOS 12.
Bruno Haible [Fri, 10 Feb 2023 12:46:22 +0000 (13:46 +0100)]
chown, lchown, fchownat tests: Avoid test failure on macOS 12.

* tests/test-chown.h (test_chown): Skip some assertions if
getgid() == (gid_t)-1.
* tests/test-lchown.h (test_lchown): Likewise.

2 years agomath: Fix compilation error in C++ mode on macOS 12.5.
Bruno Haible [Thu, 9 Feb 2023 18:27:37 +0000 (19:27 +0100)]
math: Fix compilation error in C++ mode on macOS 12.5.

* lib/math.in.h (isnan): On macOS, treat clang version 14 again like
clang versions < 12.

2 years agoFix compilation errors in C++ mode on macOS 12.5.
Bruno Haible [Thu, 9 Feb 2023 17:37:55 +0000 (18:37 +0100)]
Fix compilation errors in C++ mode on macOS 12.5.

* m4/gnulib-common.m4 (gl_COMMON_BODY): Don't define
_GL_ATTRIBUTE_MAYBE_UNUSED to [[__maybe_unused__]] if the compiler is
an Apple variant of clang.

2 years agolimits-h: Work around a clang 15 bug.
Bruno Haible [Thu, 9 Feb 2023 12:30:04 +0000 (13:30 +0100)]
limits-h: Work around a clang 15 bug.

* m4/limits-h.m4 (gl_LIMITS_H): Test also for BOOL_MAX.
* lib/limits.in.h: Handle the case where BOOL_WIDTH is present and
BOOL_MAX is missing.
* doc/posix-headers/limits.texi: Mention the clang bug.

2 years agoFix error in C++ mode on glibc systems (regression 2022-04-28).
Bruno Haible [Thu, 9 Feb 2023 12:16:31 +0000 (13:16 +0100)]
Fix error in C++ mode on glibc systems (regression 2022-04-28).

* lib/string.in.h (rpl_free): Add exception specification like
stdlib.in.h does.
* lib/wchar.in.h (rpl_free): Likewise.