|
2f2a5bb2
|
2024-11-24T19:06:32
|
|
gettext-h: Add tests.
Suggested by Ben Pfaff <blp@cs.stanford.edu> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00186.html>.
* tests/test-gettext-h.c: New file.
* modules/gettext-h-tests: New file.
|
|
21c9d397
|
2024-11-14T05:22:06
|
|
ftello: Add tests for large files.
* tests/test-ftello-largefile.c: New file.
* modules/ftello-extra-tests: New file.
* modules/ftello-tests (Depends-on): Add ftello-extra-tests.
|
|
b18f628d
|
2024-11-14T05:20:33
|
|
fseeko: Add tests for large files.
* tests/test-fseeko-largefile.c: New file.
* modules/fseeko-extra-tests: New file.
* modules/fseeko-tests (Depends-on): Add fseeko-extra-tests.
|
|
b21ec31c
|
2024-11-11T20:03:31
|
|
fts: Fix dependencies (regression 2024-11-06).
* modules/fts (Depends-on): Add fcntl-safer.
|
|
06e24345
|
2024-11-11T09:33:11
|
|
getpagesize: Fix use of 'extern inline' (regression 2012-11-20).
* lib/unistd.in.h (_GL_GETPAGESIZE_INLINE): New macro.
(getpagesize): Use it.
* lib/getpagesize.c (_GL_GETPAGESIZE_INLINE): Define.
* modules/getpagesize (configure.ac): Compile getpagesize.c also when
getpagesize is missing.
|
|
2d1edb0b
|
2024-11-11T00:56:15
|
|
relocatable-prog-wrapper: Fix compilation error on NetBSD 7.
Reported by Ionut Cosmin Mihai <ionut.cosmin.mihai@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2024-11/msg00000.html>.
* lib/relocwrapper.c: Fix dependency tree.
* modules/relocatable-prog-wrapper (Files): Add lib/stat-time.h,
lib/stat-time.c.
* build-aux/install-reloc (func_create_wrapper): Compile also
stat-time.c.
|
|
407d0389
|
2024-11-07T09:37:17
|
|
file-has-acl: minor ENOMEM fixes
* lib/file-has-acl.c: Include limits.h.
(get_aclinfo): Use a saturating add rather than reporting
overflow, in the very unlikely case that the size overflows.
This is simpler and is good enough here.
Also, defend against implausible system that fails with ERANGE
even when the buffer size is SSIZE_MAX.
(file_has_aclinfo): Since we already assume elsewhere that
malloc sets errno, rely on that here too.
* modules/file-has-acl (Depends-on): Add limits.h.
Also add malloc-posix, since we rely on malloc errno.
|
|
0eb82479
|
2024-11-06T13:33:27
|
|
opendirat: don’t depend on openat-safer
* lib/opendirat.c: Include fcntl.h.
[!GNULIB_OPENAT_SAFER]: Don’t include fcntl--.h.
* modules/opendirat (Depends-on): Depend on openat, not openat-safer.
|
|
98efc72e
|
2024-11-06T13:27:08
|
|
getusershell: don’t depend on fopen-safer
* lib/getusershell.c: Include stdio.h.
[!GNULIB_FOPEN_SAFER]: Don’t include stdio--.h.
* modules/getusershell (Depends-on): Depend on fopen, not fopen-safer.
|
|
4b506819
|
2024-11-06T13:22:32
|
|
savewd: don’t depend on fcntl-safer
* lib/savewd.c: Don’t include fcntl-safer.
[GNULIB_FCNTL_SAFER]: Include fcntl--.h.
(savewd_save): Use open, not open_safer.
* modules/savewd (Depends-on): Remove fcntl-safer.
|
|
c61f87c2
|
2024-11-06T13:03:19
|
|
savedir: don’t depend on dirent-safer
* lib/savedir.c [!GNULIB_DIRENT_SAFER]: Don't include dirent--.h.
* modules/savedir (Depends-on): Depend on dirent, not dirent-safer.
|
|
02d41a40
|
2024-11-06T13:00:52
|
|
save-cwd: don’t depend on fd-safer-flag, unistd-safer
They aren’t needed in packages that use xstdopen
* lib/save-cwd.c: Do not include unistd--.h.
(GNULIB_FCNTL_SAFER): Do not define.
(save_cwd): Do not use fd_safer_flag, as the package should use
either fcntl-safer+unistd-safer or xstdopen if it cares about
closed stdin.
* modules/save-cwd (Depends-on): Remove fd-safer-flag, unistd-safer.
|
|
2d0a7c22
|
2024-11-06T12:48:38
|
|
unistd-safer indicate presence
modules/unistd-safer (configure.ac): Add module indicator.
|
|
4fa5a4a2
|
2024-11-06T12:43:26
|
|
xstdopen: indicate presence
* modules/xstdopen (configure.ac): Add module indicator.
|
|
671103c7
|
2024-11-05T23:07:09
|
|
eealloc: deprecate
Now that malloc-gnu and realloc-posix arrange for the
various memory allocators to return non-null on success,
should be no need for the eealloc module.
* NEWS, modules/eealloc: Mention this.
|
|
4ef19be6
|
2024-11-05T22:48:53
|
|
relocatable-prog-wrapper: remove eealloc.m4
* modules/relocatable-prog-wrapper (Files): Remove m4/eealloc.m4.
It wasn’t being used and evidently was listed only because
a previous version needed it.
|
|
67c01c9e
|
2024-11-05T22:20:45
|
|
regex: port better to AIX extensions
Also, switch from eealloc.m4 to malloc.m4 to determine
whether malloc (0) returns nonnull.
* lib/regex_internal.c (re_node_set_alloc):
Remove special case for malloc (0).
* lib/regex_internal.h (MALLOC_0_IS_NONNULL): Remove.
* m4/regex.m4 (gl_PREREQ_REGEX): Do not require gl_EEMALLOC.
* modules/regex (Files): Remove m4/eealloc.m4, m4/malloc.m4.
(Depends-on): Add malloc-gnu.
|
|
ad999640
|
2024-11-05T22:06:54
|
|
malloca: port better to AIX extensions
Also, switch from eealloc.m4 to malloc.m4 to determine
whether malloc (0) returns nonnull.
* lib/malloca.c (mmalloca): Use HAVE_MALLOC_0_NONNULL,
not MALLOC_0_IS_NONNULL.
* m4/malloca.m4 (gl_MALLOCA): Require gl_FUNC_MALLOC_GNU,
not gl_EEMALLOC.
* modules/malloca (Files): Remove m4/eemalloc.m4.
(Depends-on): Add extensions-aix.
* modules/relocatable-prog-wrapper:
AC_REQUIRE gl_FUNC_MALLOC_POSIX to suppress Autoconf 2.71
“warning: AC_REQUIRE: `gl_FUNC_MALLOC_POSIX' was expanded before
it was required”.
|
|
4bb67e4e
|
2024-11-05T21:12:14
|
|
wmemset tests: Verify N3322 functionality.
* tests/test-wmemset.c: New file.
* modules/wmemset-tests: New file.
|
|
f00b47ec
|
2024-11-05T21:12:11
|
|
wmemchr tests: Verify N3322 functionality.
* tests/test-wmemchr.c: New file.
* modules/wmemchr-tests: New file.
|
|
a366348b
|
2024-11-05T21:11:39
|
|
wcsncat tests: Verify N3322 functionality.
* tests/test-wcsncat.c: New file.
* modules/wcsncat-tests: New file.
|
|
101b9d7f
|
2024-11-05T21:11:33
|
|
wcsncat: Guarantee N3322 functionality.
* lib/wchar.in.h (wcsncat): Consider REPLACE_WCSNCAT.
* m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Test whether the zero-length bug is
present.
* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNCAT.
* modules/wchar (Makefile.am): Substitute REPLACE_WCSNCAT.
* modules/wcsncat (Status, Notice): Remove.
(configure.ac): Consider REPLACE_WCSNCAT.
* doc/posix-functions/wcsncat.texi: Mention the zero-length bug.
|
|
c28fc400
|
2024-11-05T21:11:29
|
|
wmemmove tests: Verify N3322 functionality.
* tests/test-wmemmove.c: New file.
* modules/wmemmove-tests: New file.
|
|
184e2c51
|
2024-11-05T21:11:25
|
|
wmemcpy tests: Verify N3322 functionality.
* tests/test-wmemcpy.c: New file.
* modules/wmemcpy-tests: New file.
|
|
4e556e28
|
2024-11-05T21:11:22
|
|
wcsncpy tests: Verify N3322 functionality.
* tests/test-wcsncpy.c: New file.
* modules/wcsncpy-tests: New file.
|
|
ce762a90
|
2024-11-05T21:11:17
|
|
memset tests: Verify N3322 functionality.
* tests/test-memset.c: New file.
* modules/memset-tests: New file.
|
|
5e713ecd
|
2024-11-05T21:11:12
|
|
strncmp tests: Verify N3322 functionality.
* modules/strncmp: New file.
* doc/posix-functions/strncmp.texi: Mention the new module.
* tests/test-strncmp.c: New file.
* modules/strncmp-tests: New file.
|
|
f9da9cbb
|
2024-11-05T21:10:23
|
|
strndup tests: Verify N3322 functionality.
* tests/test-strndup.c: New file.
* modules/strndup-tests: New file.
|
|
2590ea7f
|
2024-11-05T21:10:13
|
|
strncpy tests: Verify N3322 functionality.
* modules/strncpy: New file.
* doc/posix-functions/strncpy.texi: Mention the new module.
* tests/test-strncpy.c: New file.
* modules/strncpy-tests: New file.
|
|
df58cd94
|
2024-11-05T21:10:11
|
|
memmove tests: Verify N3322 functionality.
* tests/test-memmove.c: New file.
* modules/memmove-tests: New file.
|
|
bda6e6a0
|
2024-11-05T21:10:08
|
|
memccpy tests: Verify N3322 functionality.
* modules/memccpy: New file.
* doc/posix-functions/memccpy.texi: Mention the new module.
* tests/test-memccpy.c: New file.
* modules/memccpy-tests: New file.
|
|
bec31056
|
2024-11-05T21:10:05
|
|
memcpy tests: Verify N3322 functionality.
* tests/test-memcpy.c: New file.
* modules/memcpy-tests: New file.
|
|
d3c9d629
|
2024-11-05T21:10:02
|
|
qsort tests: Verify N3322 functionality.
* modules/qsort: New file.
* doc/posix-functions/qsort.texi: Mention the new module.
* tests/test-qsort.c: New file.
* modules/qsort-tests: New file.
|
|
bc91828e
|
2024-11-05T21:09:07
|
|
bsearch tests: Verify N3322 functionality.
* modules/bsearch: New file.
* doc/posix-functions/bsearch.texi: Mention the new module.
* tests/test-bsearch.c: New file.
* modules/bsearch-tests: New file.
|
|
bdb6e81c
|
2024-11-05T22:18:35
|
|
realloc-posix: Avoid use of AC_LIBOBJ.
* modules/realloc-posix (configure.ac): Define
GL_COND_OBJ_REALLOC_POSIX. Don't invoke AC_LIBOBJ.
(Makefile.am): Add realloc.c to lib_SOURCES instead.
|
|
0e381f83
|
2024-11-05T22:16:12
|
|
realloc-posix: Fix link error (regression yesterday).
* lib/stdlib.in.h (realloc): Don't inline rpl_realloc if IN_GNULIB_TESTS
is defined.
* modules/realloc-posix (Depends-on, configure.ac): Compile realloc.c
also if REPLACE_REALLOC_FOR_REALLOC_POSIX is 2.
|
|
56e88183
|
2024-11-04T21:38:55
|
|
argz: defend against realloc (0, 0)
* modules/argz (Depends-on): Add realloc-posix so that
argz_append doesn’t wrongly fail with ENOMEM on AIX.
|
|
d884e6fc
|
2024-11-03T22:41:41
|
|
realloc-posix: realloc (..., 0) now returns nonnull
* lib/realloc.c (rpl_realloc): Simplify and tune by using
HAVE_REALLOC_0_NONNULL and HAVE_MALLOC_PTRDIFF, and
by having just one call to realloc instead of two.
* lib/reallocarray.c (reallocarray): Simplify and tune
by delegating the zero case to the revised realloc.
* m4/eealloc.m4 (_AC_FUNC_REALLOC_IF): Since only eealloc uses
this macro now, move its definition here ...
* m4/realloc.m4: ... from here.
(gl_FUNC_REALLOC_0_NONNULL): Also check that realloc (p, 0)
returns nonnull. Require gl_FUNC_REALLOC_POSIX.
Define HAVE_REALLOC_0_NONNULL.
* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY):
Also replace reallocarray if it returns a null pointer for size zero.
* modules/eealloc (Files): Remove m4/realloc.m4.
* modules/realloc-posix (Depends-on): Add extensions-aix.
* modules/reallocarray (Files): Add m4/realloc.m4.
|
|
c6d15a4b
|
2024-11-04T11:12:21
|
|
stdlib: make MB_CUR_MAX usable from extern inline
* lib/stdlib.c: New file.
* modules/stdlib (Files, lib_SOURCES): Add it.
(Depends-on): Add extern-inline.
* lib/stdlib.in.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
(_GL_STDLIB_INLINE): New macro.
(gl_MB_CUR_MAX): Make it _GL_STDLIB_INLINE not static inline,
so that it can be called from extern inline functions.
Redo implementation to help GCC better optimize common expressions
like (MB_CUR_MAX == 1).
|
|
9c3ebd3b
|
2024-11-03T12:19:33
|
|
malloc-gnu: depend on stdckdint not xalloc-oversized
* lib/malloc.c: Include stdckdint.h, xalloc-oversized.h.
(rpl_malloc): Use ckd_mul instead of xalloc_oversized.
* modules/malloc-gnu, modules/malloc-posix:
(Depends-on): Depend on stdckdint, not xalloc-oversized.
|
|
9334b1c6
|
2024-11-03T11:11:03
|
|
calloc: depend on stdckdint not xalloc-oversized
* lib/calloc.c: Include stdckdint.h, xalloc-oversized.h.
(rpl_calloc): Use ckd_mul instead of xalloc_oversized.
* modules/calloc-gnu, modules/calloc-posix:
(Depends-on): Depend on stdckdint, not xalloc-oversized.
|
|
a1da46a0
|
2024-11-04T17:50:09
|
|
aligned_alloc: Fix test failures on macOS, Solaris (regr. 2024-10-30).
* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Check for the Solaris
bug. Let the test program return a bit mask. Update cross-compilation
guesses.
* lib/aligned_alloc.c: Include <errno.h>.
(aligned_alloc): Fail if the alignment is not a power of 2. Work around
the Solaris bug.
* modules/aligned_alloc (Depends-on): Add malloc-posix.
* doc/posix-functions/aligned_alloc.texi: Mention the Solaris bug.
|
|
29a14761
|
2024-11-03T21:18:29
|
|
crc: Fix build rules with Automake's option 'subdir-objects'.
Reported by Pádraig Brady in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00011.html>.
* build-aux/prefix-gnulib-mk: Add comments.
(usage): Mark this usage as deprecated.
* modules/crc (Makefile.am): Use %reldir%. Write $(srcdir)/. instead of
$(srcdir).
|
|
6cb29d22
|
2024-11-01T13:26:40
|
|
realloc-posix: Fix test failure on AIX (regression 2024-10-27).
* m4/realloc.m4 (gl_FUNC_REALLOC_0_NONNULL): New macro.
* modules/realloc-posix (configure.ac): Invoke it.
|
|
23d89b19
|
2024-11-01T12:28:05
|
|
eealloc: Use the same cross-compilation guess as malloc-posix.
* m4/eealloc.m4 (gl_EEMALLOC): Invoke gl_CHECK_MALLOC_POSIX, not
_AC_FUNC_MALLOC_IF.
* modules/malloca (Files): Add m4/malloc.m4.
* modules/regex (Files): Likewise.
|
|
0bf14793
|
2024-11-01T00:17:20
|
|
crc: Support generating the tables also when cross-compiling.
* m4/build-cc.m4: New file.
* modules/crc (Files): Add it.
(configure.ac): Invoke gl_BUILD_CC. Don't set GL_CROSS_COMPILING.
(Makefile.am): Use $(BUILD_CC) etc. instead of $(CC) etc.
|
|
2f63858f
|
2024-10-31T20:54:36
|
|
calloc-posix: Add tests.
* tests/test-calloc-posix.c: New file.
* modules/calloc-posix-tests: New file.
|
|
7a80523e
|
2024-10-31T20:54:15
|
|
malloc-posix: Add tests.
* tests/test-malloc-posix.c: New file.
* modules/malloc-posix-tests: New file.
|
|
97da508e
|
2024-10-31T20:51:10
|
|
crc: Avoid potential conflict with other configure.ac files.
Suggested by Simon Josefsson.
* modules/crc (configure.ac, Makefile.am): Rename CROSS_COMPILING to
GL_CROSS_COMPILING.
|
|
1460b29e
|
2024-10-31T14:48:35
|
|
crc: Don't attempt to run a compiled C program when cross-compiling.
* lib/crc-generate-table.c: Don't include config.h.
* modules/crc (configure.ac): Define CROSS_COMPILING variable. Invoke
AC_PROG_MKDIR_P.
(Makefile.am): When cross-compiling, don't regenerate crc-sliceby8.h.
Don't use Gnulib modules while compiling the generator.
|
|
54f3dae2
|
2024-10-27T13:19:17
|
|
crc: New optimised slice-by-8 implementation
* lib/crc.c: Implementation of slice-by-8 algorithm
* lib/crc-generate-table.c: Generation code for CRC32 lookup tables
* m4/crc.m4: Autoconf enable slice-by-8, flag to disable
* modules/crc (Depends-on): Add endian.
(Makefile.am): Build slice-by-8 tables from crc-generate-table.c.
Signed-off-by: Simon Josefsson <simon@josefsson.org>
|
|
99bbb61c
|
2024-10-30T12:47:02
|
|
posix_memalign: check for GNU behavior with size 0
* lib/posix_memalign.c: Include stdckdint.h.
(posix_memalign): Test for overflow more straightforwardly,
and more portably to unlikely platforms where SIZE_MAX <= INT_MAX.
Treat a zero size as if it were alignment.
* m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN):
* tests/test-posix_memalign.c (main):
Test zero size too. Use volatile to avoid compiler optimizations.
* modules/posix_memalign (Depends-on): Add stdckdint.
|
|
70f9c1de
|
2024-10-29T22:01:42
|
|
realloc-posix: realloc (p, 0) yields nonnull
* lib/realloc.c: Include <stdckdint.h>, not "xalloc-oversized.h".
Use of xalloc_oversized replaced by ckd_add.
(rpl_realloc) [!NEED_SANITIZED_REALLOC]:
Treat realloc (p, 0) as if it were a realloc (p, 1) that never fails.
That’s easier, reduces module dependencies,
and better supports the future alloc-0-nonnull module.
* modules/realloc-posix (Depends-on): Remove free-posix,
malloc-posix, xalloc-oversized. Add stdckdint.
|
|
3f44e474
|
2024-10-29T20:12:25
|
|
backupfile: Remove non-existent module dependency.
* modules/backupfile (Depends-on): Remove irealloc dependency since the
function is a part of the ialloc module.
|
|
370c51c6
|
2024-10-27T16:58:59
|
|
realloc-gnu: Fix typo in deprecation notice.
* modules/realloc-gnu (Notice): Recommend 'realloc-posix' in the
deprecation notice.
|
|
6659e016
|
2024-10-28T00:18:35
|
|
realloc-gnu: Replace module with an alias to realloc-posix.
* tests/test-realloc-posix.c: Renamed from tests/test-realloc-gnu.c. Add
more tests, not yet activated.
* modules/realloc-posix-tests: Renamed from modules/realloc-gnu-tests.
Test test-realloc-posix instead of test-realloc-gnu.
* modules/realloc-gnu: Mark as a deprecated alias of 'realloc-posix'.
* lib/stdlib.in.h (realloc): Ignore GNULIB_REALLOC_GNU.
* modules/stdlib (Makefile.am): Don't substitute GNULIB_REALLOC_GNU,
REPLACE_REALLOC_FOR_REALLOC_GNU.
* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Don't initialize
GNULIB_REALLOC_GNU.
(gl_STDLIB_H_DEFAULTS): Don't initialize
REPLACE_REALLOC_FOR_REALLOC_GNU.
* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Remove macro.
* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Update comment.
* doc/posix-functions/realloc.texi: Remove description of module
'realloc-gnu'.
* MODULES.html.sh (Memory management functions <stdlib.h>): Remove
realloc-gnu. Add realloc-posix.
|
|
2d528629
|
2024-10-25T17:02:02
|
|
eealloc: update commentary
Even if we remove eealloc we might as well add commentary
explaining some of its confusion, before we remove it.
* lib/eealloc.h: Update comment.
* modules/eealloc (Description):
Update, since eealloc is not glibc compatible.
|
|
52a75229
|
2024-10-25T21:59:45
|
|
eealloc: Relicense under LGPLv2+.
Jim Meyering's approval is in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00192.html>.
* modules/eealloc (License): Change to LGPLv2+.
* lib/eealloc.h: Update license notice.
* lib/eealloc.c: Likewise.
|
|
e4f2c2c0
|
2024-10-25T13:59:41
|
|
xalloc: Adjust dependencies after last change.
* modules/xalloc (Depends-on): Remove realloc-gnu. Add realloc-posix.
|
|
146b0654
|
2024-10-25T13:55:08
|
|
ialloc: Fix dependencies.
* modules/ialloc (Depends-on): Add realloc-posix.
|
|
b69be0f7
|
2024-10-24T21:34:12
|
|
reallocarray: simplify
* lib/reallocarray.c (reallocarray): Use simpler workaround
for realloc glitch, which does not involve malloc.
* modules/reallocarray (Depends-on): Remove malloc-posix.
|
|
59d98e49
|
2024-10-23T14:33:43
|
|
ialloc: fix realloc-gnu dependency
* modules/ialloc (Depends-on): Remove realloc-gnu,
as ialloc.c does not depend on GNU semantics for realloc.
|
|
d65178b1
|
2024-10-23T14:30:35
|
|
backupfile: fix irealloc dependency
* modules/backupfile (Depends-on): Depend on irealloc,
not realloc-gnu, as the code now uses irealloc not realloc
and does not depend on GNU semantics anyway.
|
|
04e85c7d
|
2024-10-23T14:27:45
|
|
group-member: fix malloc-gnu dependency
* modules/group-member (Depends-on): Depend on malloc-gnu,
not realloc-gnu, since the code uses malloc not realloc.
|
|
8af18a60
|
2024-10-22T22:16:01
|
|
crc: New tests for non-byte-aligned data.
* tests/test-crc.c: New tests.
* modules/crc-tests (Files): Add dependency on randomb.c
Signed-off-by: Simon Josefsson <simon@josefsson.org>
|
|
427249c6
|
2024-10-22T22:08:24
|
|
execute, spawn-pipe: Support DLL dependencies of Windows executables.
Reported by Michele Locati <michele@locati.it>.
* lib/windows-path.h: New file.
* lib/windows-path.c: New file.
* lib/windows-spawn.h (compose_envblock): Add new_PATH parameter.
(spawnpvech): Add dll_dirs parameter. Call extended_PATH.
* lib/windows-spawn.c: Include windows-path.h.
(compose_envblock): Add new_PATH parameter.
* modules/windows-spawn (Description): Now applies to Cygwin as well.
(Files): Add lib/windows-path.h, lib/windows-path.c.
(configure.ac): Define GL_COND_OBJ_WINDOWS_PATH.
(Makefile.am): Conditionally compile windows-path.c.
(Include): Add windows-path.h.
* lib/spawni.c (__spawni): Update compose_envblock call.
* lib/execute.h (execute): Add dll_dirs parameter.
* lib/execute.c: Include windows-path.h.
(execute): Add dll_dirs parameter. Pass it down to spawnpvech. Call
extended_environ.
* lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
Add dll_dirs parameter.
* lib/spawn-pipe.c: Include windows-path.h.
(create_pipe): Add dll_dirs parameter. Pass it down to spawnpvech. Call
extended_environ.
(create_pipe_bidi, create_pipe_in, create_pipe_out): Add dll_dirs
parameter.
* lib/javaexec.c (execute_java_class): Update execute invocations.
* lib/cygpath.c (execute_and_read_line): Update create_pipe_in
invocation.
* lib/javaversion.c (execute_and_read_line): Likewise.
* lib/csharpcomp.c (compile_csharp_using_mono,
compile_csharp_using_dotnet, compile_csharp_using_sscli): Update
execute, create_pipe_in invocations.
* lib/csharpexec.c (execute_csharp_using_mono,
execute_csharp_using_dotnet, execute_csharp_using_sscli): Likewise.
* lib/javacomp.c (compile_using_envjavac, compile_using_javac,
execute_and_read_line, is_javac_present): Likewise.
* lib/pipe-filter-gi.c (pipe_filter_gi_create): Update create_pipe_bidi
invocation.
* lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
* tests/test-execute-main.c (main): Update execute invocations.
* tests/test-execute-script.c (main): Likewise.
* tests/test-spawn-pipe-main.c (main): Update create_pipe_bidi
invocation.
* tests/test-spawn-pipe-script.c (main): Update create_pipe_in
invocations.
* NEWS: Mention the changes.
|
|
b3791b2b
|
2024-10-21T17:20:37
|
|
reallocarray: Don't assume unportable behaviour of realloc.
* lib/reallocarray.c (reallocarray): Handle the nbytes==0 case
explicitly.
* modules/reallocarray (Depends-on): Remove realloc-gnu. Add
malloc-posix, realloc-posix.
|
|
582eb499
|
2024-10-17T20:25:36
|
|
Use a warranty disclaimer in all-permissive license notices, part 2.
* doc/gnulib-intro.texi (Copyright): Add a short warranty disclaimer
sentence.
* users.txt: Likewise.
* modules/COPYING: Likewise.
|
|
9f0fc923
|
2024-10-17T15:13:49
|
|
gettext: Un-obsolete.
Reported by Assaf Gordon <assafgordon@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00047.html>.
* modules/gettext (Description): Add a third purpose.
(Status, Notice): Remove sections.
|
|
5e72d251
|
2024-10-16T22:06:11
|
|
crc tests: Add a benchmark program.
* tests/macros.h (randomb): New declaration.
* tests/randomb.c: New file.
* tests/bench-crc.c: New file.
* modules/crc-tests (Files): Add them. Add tests/macros.h,
tests/bench.h.
(Depends-on): Add getrusage, gettimeofday.
(Makefile.am): Arrange to compile bench-crc.
|
|
dd07b748
|
2024-10-13T12:01:08
|
|
string-desc: New function string_desc_c_casecmp.
* lib/string-desc.h: New declaration.
* lib/string-desc.c: Include <limits.h>, c-ctype.h.
(string_desc_c_casecmp): New function.
* modules/string-desc (Depends-on): Add c-ctype.
* tests/test-string-desc.c (main): Add tests of string_desc_c_casecmp.
|
|
e979e268
|
2024-10-11T17:43:02
|
|
bison-i18n: Add support for mingw builds on Cygwin hosts.
* m4/bison-i18n.m4 (BISON_I18N): Define also BISON_LOCALEDIR_c and
BISON_LOCALEDIR_c_make.
* modules/bison-i18n (Files): Add m4/build-to-host.m4.
|
|
efa78d89
|
2024-10-09T03:20:00
|
|
csharpcomp: Add support for dotnet.
* lib/csharpcomp.c: Include <dirent.h>, concat-filename.h, xvasprintf.h.
(name_is_dll): New function, from lib/csharpexec.c.
(compile_csharp_using_dotnet): New function.
(compile_csharp_class): Invoke compile_csharp_using_dotnet.
* modules/csharpcomp (Depends-on): Add xconcat-filename, scandir,
alphasort, xvasprintf.
|
|
a3004965
|
2024-10-09T03:14:04
|
|
csharpexec: Add support for dotnet.
* lib/csharpexec.c: Include <dirent.h>, <errno.h>, <sys/stat.h>,
dirname.h, concat-filename.h, canonicalize.h, spawn-pipe.h,
wait-process.h, xalloc.h, copy-file.h, clean-temp-simple.h,
clean-temp.h.
(name_is_dll, execute_csharp_using_dotnet): New functions.
(execute_csharp_program): Invoke execute_csharp_using_dotnet.
* modules/csharpexec (Depends-on): Add stat, dirname, xconcat-filename,
canonicalize, spawn-pipe, wait-process, scandir, alphasort, copy-file,
clean-temp-simple, clean-temp.
|
|
25292435
|
2024-10-07T20:25:06
|
|
csharpcomp: Improve Cygwin support.
* lib/csharpcomp.c: Include cygpath.h.
(compile_csharp_using_sscli): Convert the file names passed to 'csc' to
native Windows syntax.
* modules/csharpcomp (Depends-on): Add cygpath.
|
|
04b68d47
|
2024-10-07T20:15:44
|
|
csharpexec: Improve Cygwin support.
* lib/csharpexec.c: Include cygpath.h.
(execute_csharp_using_sscli): Convert the first 'clix' argument to
native Windows syntax.
* modules/csharpexec (Depends-on): Add cygpath.
|
|
5312d8c4
|
2024-10-07T20:10:16
|
|
cygpath: New module.
* lib/cygpath.h: New file.
* lib/cygpath.c: New file, based on lib/javaversion.c.
* modules/cygpath: New file.
|
|
5decb872
|
2024-10-07T18:58:30
|
|
mntent: Fix syntax error when module 'hasmntopt' is not in use.
Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00039.html>.
* modules/mntent (configure.ac): Invoke gl_MNTENT_H_REQUIRE_DEFAULTS.
|
|
87791b14
|
2024-10-03T22:06:33
|
|
mktime: prefer static_assert to verify
This should work better with glibc.
* lib/mktime.c: Do not include verify.h.
Use static_assert instead of verify.
* modules/mktime (Depends-on): Depend on assert-h, not verify.
|
|
588b8d0c
|
2024-10-03T20:45:59
|
|
bcp47: Add tests.
* tests/test-bcp47.c: New file.
* modules/bcp47-tests: New file.
|
|
b1648c71
|
2024-10-03T20:45:08
|
|
bcp47: New module.
* lib/bcp47.h: New file.
* lib/bcp47.c: New file.
* modules/bcp47: New file.
|
|
8682f4d3
|
2024-10-02T17:40:34
|
|
file-has-acl: no need for struct stat
Change the API of the new file_has_aclinfo function so that it no
longer needs a struct stat *. In some cases this can help GNU ls
avoid an unnecessary ‘stat’ call for each file it lists, which
can be a significant win.
* lib/acl.h (ACL_SYMLINK_NOFOLLOW): Change from 1 to UCHAR_MAX+1
so that it can be ORed with any d_type value.
* lib/file-has-acl.c: Include dirent.h, for the DT_* macros.
Check that ACL_SYMLINK_NOFOLLOW is outside unsigned char range.
(file_has_aclinfo): Change API so that struct stat is no longer
needed. Instead, the file type (if known) is passed as part of
the flags. All callers changed. Simplify NFSv4 code.
* modules/file-has-acl (Depends-on): Add assert-h for static_assert,
and dirent for DT_* macros.
* tests/test-file-has-acl.c: Include dirent.h.
(main): Adjust to file_has_aclinfo API change.
Briefly test ACL_SYMLINK_FOLLOW.
|
|
a6de9f38
|
2024-10-02T15:50:10
|
|
dirent: define DT_* macros on all platforms
* lib/dirent.in.h (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK)
(DT_REG, DT_LNK, DT_SOCK, DT_WHT): Define these on all platforms,
if the system does not already define them. Check that they
have distinct values.
(_GL_DIRENT_S_ISWHT, _GL_DIRENT_S_IFWHT) [!(IFTODT && DTTOIF)]:
New macros.
(IFTODT, DTTOIF): Define if not already defined.
* modules/dirent (Depends-on): Add assert-h, extensions.
|
|
ccc26add
|
2024-09-29T16:13:53
|
|
file-has-acl: new function file_has_aclinfo
This is for GNU coreutils, whose ‘ls’ can be made faster with the
new function because it means (for example) that ‘ls’ needn’t call
both listxattr and lgetxattr in the common case where the file has
no extended attributes.
* lib/acl.h (ACL_SYMLINK_FOLLOW): New constant.
(struct aclinfo): New type.
* lib/file-has-acl.c (UNKNOWN_SECURITY_CONTEXT): New constant.
(USE_LINUX_XATTR): New macro. When set:
Include stdint.h (for uint32_t). If also USE_SELINUX_SELINUX_H,
include selinux/selinux.h (for getfilecon).
If HAVE_SMACK, include <sys/smack.h>, otherwise provide substitutes
for smack_smackfs_path and smack_new_label_from_path.
(is_smack_enabled): New function.
(aclinfo_has_xattr): Rename from have_xattr and make it extern.
Use struct aclinfo const * arg instead of char const * and ssize_t.
Work even if ai->size < 0. Supply a no-op macro on platforms
lacking xattr.
(get_aclinfo): New static function, much of it taken from
coreutils/src/ls.c.
(file_has_aclinfo): New function, which generalizes file_has_acl
to provide more info. Its body is taken from the old file_has_acl
with new stuff from ls.c.
(file_has_acl): Use it.
(aclinfo_scontext_free, aclinfo_free): Nwew functions, if not
already no-op macros.
* m4/acl.m4 (gl_FUNC_ACL_ARG): Add --without-libsmack option.
(gl_FILE_HAS_ACL): Check for libsmack, selinux.
* m4/selinux-selinux-h.m4 (gl_CHECK_HEADER_SELINUX_SELINUX_H):
New macro, for use by file-has-acl. Rename HAVE_SELINUX_SELINUX_H
to USE_SELINUX_SELINUX_H to avoid confusion as to whether we have
<selinux/selinux.h>; all uses changed.
(gl_HEADERS_SELINUX_SELINUX_H): Use the new macro.
* modules/file-has-acl (Files): Add m4/selinux-selinux-h.m4.
(Depends-on): Add errno, ssize_t.
* tests/test-file-has-acl.c (main): Add a little test for
file_has_aclinfo.
|
|
d3406543
|
2024-09-26T02:02:56
|
|
relocatable-lib-lgpl: Add support for mingw builds on Cygwin hosts.
Reported by Michele Locati <michele@locati.it> in
<https://lists.gnu.org/archive/html/bug-gettext/2024-09/msg00033.html>.
* m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Use
gl_BUILD_TO_HOST on the value of INSTALLPREFIX.
* modules/relocatable-lib (Files): Add m4/build-to-host.m4.
* modules/relocatable-lib-lgpl (Files): Likewise.
* modules/relocatable-prog-wrapper (Files): Likewise.
|
|
20316f78
|
2024-09-25T18:26:18
|
|
xstring-buffer: New module.
* lib/string-buffer.h (sb_xappend1, sb_xappend_desc, sb_xappend_c,
sb_xappendvf, sb_xappendf, sb_xcontents_c, sb_xdupfree, sb_xdupfree_c):
New declarations.
* lib/xstring-buffer.c: New file.
* lib/xstring-buffer-printf.c: New file.
* modules/xstring-buffer: New file.
|
|
db23a7ea
|
2024-09-25T17:19:41
|
|
string-buffer: Add more API.
* lib/string-buffer.h: Include string-desc.h.
(sb_append1, sb_append_desc): New declarations.
(sb_append_c): Renamed from sb_append.
(sb_contents, sb_contents_c, sb_dupfree): New declarations.
(sb_dupfree_c): Renamed from sb_dupfree.
* lib/string-buffer.c (sb_append1, sb_append_desc): New functions.
(sb_append_c): Renamed from sb_append.
(sb_contents, sb_contents_c, sb_dupfree): New functions.
(sb_dupfree_c): Renamed from sb_dupfree. Optimize.
* modules/string-buffer (Depends-on): Add string-desc.
* tests/test-string-buffer.c (main): Use sb_append_c instead of
sb_append. Use sb_dupfree_c instead of sb_dupfree. Test also sb_append1,
sb_append_desc, sb_contents.
* NEWS: Mention the changes.
|
|
778a55c4
|
2024-09-24T18:31:49
|
|
string-buffer: Remove INT_MAX limitation.
* lib/string-buffer.h (sb_appendvf, sb_appendf): Document that errno is
set upon failure.
* lib/string-buffer-printf.c: Include <errno.h>.
(sb_appendvf): Call vsnzprintf instead of vsnprintf. Ensure errno is
set upon failure.
(sb_appendf): Likewise.
* modules/string-buffer (Depends-on): Add vsnzprintf-posix. Remove
vsnprintf-posix.
* tests/test-string-buffer.c (main): Test error code from sb_appendf.
|
|
413cbae0
|
2024-09-24T17:28:07
|
|
string-buffer: Link to vasnprintf implementation only when needed.
* lib/string-buffer-printf.c: New file, extracted from
lib/string-buffer.c.
* lib/string-buffer.c: Don't include <stdarg.h>.
(sb_ensure_more_bytes): Declare. Make non-static.
(sb_appendvf, sb_appendf): Moved to lib/string-buffer-printf.c.
* modules/string-buffer (Files): Add lib/string-buffer-printf.c.
(Makefile.am): Arrange to compile string-buffer-printf.c.
|
|
5a7754d1
|
2024-09-24T12:31:07
|
|
sfl-istream: Add tests.
* tests/test-sfl-istream.c: New file, based on tests/test-sf-istream.c.
* modules/sfl-istream-tests: New file.
|
|
a61bea3a
|
2024-09-24T12:31:03
|
|
sfl-istream: New module.
* lib/sfl-istream.h: New file.
* lib/sfl-istream.c: New file.
* modules/sfl-istream: New file.
|
|
357c5d52
|
2024-09-24T12:30:58
|
|
sf-istream: Add tests.
* tests/test-sf-istream.c: New file.
* modules/sf-istream-tests: New file.
|
|
336a4d57
|
2024-09-24T12:30:54
|
|
sf-istream: New module.
* lib/sf-istream.h: New file.
* lib/sf-istream.c: New file.
* modules/sf-istream: New file.
* doc/posix-functions/fmemopen.texi: Mention the new module.
|
|
0d083cd9
|
2024-09-23T16:59:14
|
|
jit/cache tests: Fix link error (regression 2024-09-20).
* m4/libdl.m4: New file.
* modules/jit/cache-tests (Files): Add it.
(configure.ac): Invoke gl_LIBDL.
(Makefile.am): Link test-cache with $(LIBDL).
|
|
4f1f3d3c
|
2024-09-16T11:12:24
|
|
parse-datetime no longer depends on nstrftime
I discovered this unnecessary dependency when debugging
GNU Patch.
* lib/parse-datetime.y:
(populate_local_time_zone_table) [!HAVE_STRUCT_TM_TM_ZONE]:
(debug_strfdatetime): Use strftime not nstrftime,
as we don’t need nstrftime’s extensions or bug fixes.
* modules/parse-datetime (Depends-on): Remove nstrftime.
Also remove setenv, unsetenv, timegm, as this module
no longer depends on them directly.
|
|
1aee1fe7
|
2024-09-15T15:27:34
|
|
unilbrk: Strengthen tests.
* lib/gen-uni-tables.c: Add shell commands for creating
tests/unilbrk/LineBreakTest.txt.
* tests/unilbrk/LineBreakTest.txt: New file, from unicode.org.
* tests/unilbrk/test-uc-possible-linebreaks.c: New file, based on
tests/uniwbrk/test-uc-wordbreaks.c.
* tests/unilbrk/test-uc-possible-linebreaks.sh: New file, based on
tests/uniwbrk/test-uc-wordbreaks.sh.
* modules/unilbrk/u32-possible-linebreaks-tests (Files): Add them.
(Makefile.am): Arrange to compile test-uc-possible-linebreaks.c and test
test-uc-possible-linebreaks.sh.
|
|
8fc19467
|
2024-09-13T15:25:05
|
|
Implement a new property, added by Unicode 16.0.0.
* lib/gen-uni-tables.c (is_property_modifier_combining_mark): New
function.
(output_properties): Output also the property modifier_combining_mark.
* lib/unictype.in.h (UC_PROPERTY_MODIFIER_COMBINING_MARK,
uc_is_property_modifier_combining_mark): New declarations.
* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
* modules/unictype/base (Makefile.am): Substitute
GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
* lib/unictype/pr_modifier_combining_mark.c: New file.
* lib/unictype/pr_modifier_combining_mark.h: New generated file.
* modules/unictype/property-modifier-combining-mark: New file.
* tests/unictype/test-pr_modifier_combining_mark.c: New generated file.
* modules/unictype/property-modifier-combining-mark-tests: New file.
* lib/unictype/pr_byname.gperf: Add modifier_combining_mark.
* lib/unictype/pr_byname.c
(UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK): New enum item.
(uc_property_byname): Handle it.
* modules/unictype/property-byname (Depends-on): Add
unictype/property-modifier-combining-mark.
* modules/unictype/property-all (Depends-on): Likewise.
* MODULES.html.sh (func_all_modules): Add
unictype/property-modifier-combining-mark.
|
|
02a0e123
|
2024-09-13T15:17:49
|
|
Update to Unicode 16.0.0.
* lib/gen-uni-tables.c (PROP_MODIFIER_COMBINING_MARK): New enum item.
(fill_properties): Recognize property Modifier_Combining_Mark.
(UC_JOINING_GROUP_KASHMIRI_YEH): New enum item.
(fill_arabicshaping, joining_group_as_c_identifier): Handle
UC_JOINING_GROUP_KASHMIRI_YEH.
(LBP_*): Split LBP_AL into LBP_AL1 and LBP_AL2.
(LBP_AL): New enum item.
(get_lbea): New function.
(get_lbp): Use it. Update such that unilbrk/lbrkprop.txt comes out as
expected. Map U+25CC to LBP_AL2.
(PROP_EA, PROP, EA): New macros.
(debug_output_lbp): Print either LBP_AL1, LBP_AL2 as LBP_AL.
(lbp_value_to_string): Handle LBP_AL1, LBP_AL2 instead of LBP_AL.
(struct lbpea_table): Renamed from struct lbp_table.
(output_lbpea): Renamed from output_lbp. Store both the line break
property and the line break EastAsian bit in the same table entry.
(output_lbrk_tables): Update.
(output_lbrk_rules_as_tables): Update for LBP_AL change. Implement rules
LB28a, LB25, LB19, LB15d, LB13 as specified by
https://www.unicode.org/reports/tr14/tr14-53.html.
(get_wbp): Update such that uniwbrk/wbrkprop.txt comes out as expected.
* lib/unictype.in.h (UC_JOINING_GROUP_KASHMIRI_YEH): New enum item.
* lib/unictype/joininggroup_byname.gperf: Handle it.
* lib/unictype/joininggroup_name.h: Likewise.
* lib/unilbrk/lbrktables.h: Split LBP_AL into LBP_AL1 and LBP_AL2.
(LBP_AKLS_VI): New enum item, for rule LB28a.
(PROP, EA, PROP_EA): New macros.
(unilbrk_table): Update bounds.
* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
Use LBP_AL1 instead of LBP_AL. Use 2 characters of lookahead, for rules
LB15c, LB19a, LB25, LB28a. New variables prev_ea, prev2_ea, for rule
LB19a. New variable prev_initial_hyphen, for rule LB20a. New variable
prev_nus, for rule LB25. Implement rules LB15c, LB19a, LB20a, LB21a,
LB25, LB28a, as specified by
https://www.unicode.org/reports/tr14/tr14-53.html.
* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
Likewise.
* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
Likewise.
* modules/unilbrk/base (Depends-on): Add stdbool.
* tests/uninorm/test-u32-normalize-big.h
(struct normalization_test_file): Now 6 parts.
* tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
Fill in 6 parts.
(test_specific, free_normalization_test_file): Now handle 6 parts.
* tests/uniwidth/test-uc_width2.sh: Update expected test result.
* All generated files under lib/uni* and tests/uni*: Regenerate.
* tests/uniname/NameAliases.txt: Update.
* tests/uniname/UnicodeData.txt: Update.
* tests/uninorm/NormalizationTest.txt: Update.
* tests/unigbrk/GraphemeBreakTest.txt: Update.
* tests/uniwbrk/WordBreakTest.txt: Update.
* All the affected modules: Bump required libunistring version.
|
|
30417e7f
|
2024-09-13T09:50:15
|
|
uninorm/composition: Fix mistake in last commit (regression yesterday).
* modules/uninorm/composition (Files): Add
lib/uninorm/composition-table-bounds.h.
|
|
6e953212
|
2024-09-04T19:38:52
|
|
Resolve conflicts for functions introduced in Android API level 35.
Reported by Po Lu <luangruo@yahoo.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00024.html>.
* lib/time.in.h (timezone_t, tzalloc, tzfree): Don't require _GNU_SOURCE
to be defined. Define depending on HAVE_TZALLOC, not HAVE_TIMEZONE_T.
(localtime_rz, mktime_z): Likewise. Override if REPLACE_LOCALTIME_RZ or
REPLACE_MKTIME_Z is 1, respectively.
* lib/time_rz.c: If NEED_TIMEZONE_NULL_SUPPORT, define only localtime_rz
and mktime_z and only as wrappers around the system function.
* m4/time_h.m4 (gl_TIME_H_DEFAULTS): Initialize HAVE_TZALLOC,
REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z.
* m4/time_rz.m4 (gl_TIME_RZ): Conditionally set HAVE_TZALLOC,
REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. Conditionally define
NEED_TIMEZONE_NULL_SUPPORT.
* modules/time-h (Makefile.am): Substitute HAVE_TZALLOC,
REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z.
* modules/time_rz (Depends-on, configure.ac): Consider HAVE_TZALLOC,
REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. Ignore HAVE_TIMEZONE_T.
|