39 Commits
Author SHA1 Message Date
Bruno Haible df9aa7f7ad Straighten dependencies to streq or memeq.
* modules/argmatch (Dependencies): Add memeq, streq. Remove stringeq.
* modules/bcp47 (Dependencies): Likewise.
* modules/readutmp (Dependencies): Likewise.
* modules/relocatable-prog (Dependencies): Likewise.
* modules/relocatable-prog-wrapper (Dependencies): Likewise.
* modules/vc-mtime (Dependencies): Likewise.
* modules/backup-rename (Dependencies): Add memeq. Remove stringeq.
* modules/backupfile (Dependencies): Likewise.
* modules/boot-time (Dependencies): Likewise.
* modules/csharpcomp (Dependencies): Likewise.
* modules/csharpexec (Dependencies): Likewise.
* modules/file-has-acl (Dependencies): Likewise.
* modules/get_ppid_of (Dependencies): Likewise.
* modules/get_progname_of (Dependencies): Likewise.
* modules/getlogin_r (Dependencies): Likewise.
* modules/getprogname (Dependencies): Likewise.
* modules/getumask (Dependencies): Likewise.
* modules/isnan-no-c++ (Dependencies): Likewise.
* modules/isnanf (Dependencies): Likewise.
* modules/isnanf-nolibm (Dependencies): Likewise.
* modules/isnand (Dependencies): Likewise.
* modules/isnand-nolibm (Dependencies): Likewise.
* modules/isnanl (Dependencies): Likewise.
* modules/isnanl-nolibm (Dependencies): Likewise.
* modules/mbchar (Dependencies): Likewise.
* modules/mem-hash-map (Dependencies): Likewise.
* modules/memcoll (Dependencies): Likewise.
* modules/progname (Dependencies): Likewise.
* modules/pthread_sigmask (Dependencies): Likewise.
* modules/quotearg (Dependencies): Likewise.
* modules/same (Dependencies): Likewise.
* modules/signbit-no-c++ (Dependencies): Likewise.
* modules/string-desc (Dependencies): Likewise.
* modules/uniname/uniname (Dependencies): Likewise.
* modules/acl-permissions (Dependencies): Add streq. Remove stringeq.
* modules/argp (Dependencies): Likewise.
* modules/c-vasnprintf (Dependencies): Likewise.
* modules/c32_get_mapping (Dependencies): Likewise.
* modules/c32_get_type_test (Dependencies): Likewise.
* modules/concat-filename (Dependencies): Likewise.
* modules/cpu-supports (Dependencies): Likewise.
* modules/dfa (Dependencies): Likewise.
* modules/duplocale (Dependencies): Likewise.
* modules/exclude (Dependencies): Likewise.
* modules/findprog (Dependencies): Likewise.
* modules/findprog-in (Dependencies): Likewise.
* modules/findprog-lgpl (Dependencies): Likewise.
* modules/fopen (Dependencies): Likewise.
* modules/fopen-gnu (Dependencies): Likewise.
* modules/freopen (Dependencies): Likewise.
* modules/fts (Dependencies): Likewise.
* modules/getlocalename_l-simple (Dependencies): Likewise.
* modules/getlocalename_l-unsafe (Dependencies): Likewise.
* modules/getlogin (Dependencies): Likewise.
* modules/getugroups (Dependencies): Likewise.
* modules/hard-locale (Dependencies): Likewise.
* modules/hashcode-named-file (Dependencies): Likewise.
* modules/hashkey-string (Dependencies): Likewise.
* modules/iconv_open (Dependencies): Likewise.
* modules/idcache (Dependencies): Likewise.
* modules/localcharset (Dependencies): Likewise.
* modules/localename (Dependencies): Likewise.
* modules/localename-environ (Dependencies): Likewise.
* modules/localename-unsafe (Dependencies): Likewise.
* modules/localename-unsafe-limited (Dependencies): Likewise.
* modules/map-c++-tests (Dependencies): Likewise.
* modules/mbs_endswith (Dependencies): Likewise.
* modules/mountlist (Dependencies): Likewise.
* modules/newlocale (Dependencies): Likewise.
* modules/nl_langinfo (Dependencies): Likewise.
* modules/nproc (Dependencies): Likewise.
* modules/open (Dependencies): Likewise.
* modules/parse-datetime (Dependencies): Likewise.
* modules/popen (Dependencies): Likewise.
* modules/posix_spawn-internal (Dependencies): Likewise.
* modules/propername (Dependencies): Likewise.
* modules/pt_chown (Dependencies): Likewise.
* modules/putenv-gnu (Dependencies): Likewise.
* modules/qcopy-acl (Dependencies): Likewise.
* modules/rpmatch (Dependencies): Likewise.
* modules/selinux-h (Dependencies): Likewise.
* modules/setlocale (Dependencies): Likewise.
* modules/setlocale-fixes (Dependencies): Likewise.
* modules/sig2str (Dependencies): Likewise.
* modules/spawn-pipe (Dependencies): Likewise.
* modules/stat (Dependencies): Likewise.
* modules/str_endswith (Dependencies): Likewise.
* modules/streq-opt (Dependencies): Likewise.
* modules/striconveha (Dependencies): Likewise.
* modules/supersede (Dependencies): Likewise.
* modules/time_rz (Dependencies): Likewise.
* modules/unicodeio (Dependencies): Likewise.
* modules/unistdio/u16-u16-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u32-u32-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u8-u8-vasnprintf (Dependencies): Likewise.
* modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
* modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
* modules/vasnprintf (Dependencies): Likewise.
* modules/vasnwprintf (Dependencies): Likewise.
* modules/wctrans (Dependencies): Likewise.
* modules/wctype (Dependencies): Likewise.
* modules/c-nstrftime (Dependencies): Add streq.
* modules/fprintftime (Dependencies): Likewise.
* modules/nstrftime (Dependencies): Likewise.
* modules/nstrftime-limited (Dependencies): Likewise.
2026-02-28 21:17:44 +01:00
Paul Eggert 26fd35455d stringeq: prefer streq to strcmp in other modules
* lib/acl-internal.c, lib/argmatch.c, lib/argp-help.c:
* lib/argp-parse.c, lib/bcp47.c, lib/c32_get_mapping.c:
* lib/c32_get_type_test.c, lib/concat-filename.c:
* lib/cpu-supports.h, lib/dfa.c, lib/duplocale.c, lib/exclude.c:
* lib/findprog-in.c, lib/findprog.c, lib/fopen.c, lib/freopen.c:
* lib/fts.c, lib/gen-uni-tables.c, lib/getfilecon.c:
* lib/getlogin.c, lib/getugroups.c, lib/hard-locale.c:
* lib/hashcode-named-file.c, lib/hashkey-string.c:
* lib/iconv_open.c, lib/idcache.c, lib/lc-charset-unicode.c:
* lib/localcharset.c, lib/localename-environ.c:
* lib/localename-unsafe.c, lib/mbs_endswith.c, lib/mountlist.c:
* lib/newlocale.c, lib/nl_langinfo.c, lib/nproc.c, lib/open.c:
* lib/os2-spawn.c, lib/parse-datetime.y, lib/popen.c:
* lib/progreloc.c, lib/propername.c, lib/pt_chown.c, lib/putenv.c:
* lib/qcopy-acl.c, lib/readutmp.c, lib/rpmatch.c:
* lib/setlocale-fixes.c, lib/setlocale.c, lib/sig2str.c:
* lib/spawni.c, lib/stat.c, lib/str_endswith.c, lib/streq.h:
* lib/striconveha.c, lib/struniq.h, lib/supersede.c:
* lib/time_rz.c, lib/unicodeio.c, lib/vasnprintf.c:
* lib/vc-mtime.c, lib/wctrans-impl.h, lib/wctype-impl.h:
Prefer streq to strcmp when either will do.
Do not make this change to files shared with glibc.
Do not make the change to test files, at least not for now.
* lib/gen-uni-tables.c (streq): New static function, in same style.
* modules/acl-permissions, modules/argp, modules/c32_get_mapping:
* modules/c32_get_type_test, modules/concat-filename:
* modules/cpu-supports, modules/dfa, modules/duplocale:
* modules/exclude, modules/findprog, modules/findprog-in:
* modules/fopen, modules/fopen-gnu, modules/freopen, modules/fts:
* modules/getlocalename_l-simple, modules/getlocalename_l-unsafe:
* modules/getlogin, modules/getugroups, modules/hard-locale:
* modules/hashcode-named-file, modules/hashkey-string:
* modules/iconv_open, modules/idcache, modules/localcharset:
* modules/localename, modules/localename-unsafe:
* modules/mbs_endswith, modules/mountlist, modules/newlocale:
* modules/nl_langinfo, modules/nproc, modules/open:
* modules/parse-datetime, modules/popen:
* modules/posix_spawn-internal, modules/propername:
* modules/pt_chown, modules/putenv-gnu, modules/qcopy-acl:
* modules/rpmatch, modules/selinux-h, modules/setenv:
* modules/setlocale, modules/setlocale-fixes, modules/sig2str:
* modules/spawn-pipe, modules/stat, modules/str_endswith:
* modules/streq, modules/striconveha, modules/supersede:
* modules/time_rz, modules/uchar-h, modules/unicodeio:
* modules/uniconv/base, modules/wctrans, modules/wctype:
(Depends-on): Add stringeq.
2025-09-17 08:20:25 -07:00
Bruno Haible 9266510b87 Clarify link dependency towards libintl on FreeBSD, Solaris, etc.
* modules/acl (Link): Document requirement to link with $(LIBINTL) or
$(LTLIBINTL).
* modules/areadlinkat (Link): Likewise.
* modules/areadlinkat-with-size (Link): Likewise.
* modules/argmatch (Link): Likewise.
* modules/argp (Link): Likewise.
* modules/argp-version-etc (Link): Likewise.
* modules/backup-rename (Link): Likewise.
* modules/backupfile (Link): Likewise.
* modules/bitset (Link): Likewise.
* modules/bitsetv (Link): Likewise.
* modules/c-xvasprintf (Link): Likewise.
* modules/canon-host (Link): Likewise.
* modules/canonicalize (Link): Likewise.
* modules/chdir-long (Link): Likewise.
* modules/chmodat (Link): Likewise.
* modules/chownat (Link): Likewise.
* modules/classpath (Link): Likewise.
* modules/clean-temp (Link): Likewise.
* modules/clean-temp-simple (Link): Likewise.
* modules/closein (Link): Likewise.
* modules/closeout (Link): Likewise.
* modules/copy-file (Link): Likewise.
* modules/csharpcomp (Link): Likewise.
* modules/csharpexec (Link): Likewise.
* modules/cygpath (Link): Likewise.
* modules/dfa (Link): Likewise.
* modules/dirname (Link): Likewise.
* modules/error (Link): Likewise.
* modules/exclude (Link): Likewise.
* modules/execute (Link): Likewise.
* modules/faccessat (Link): Likewise.
* modules/fchmodat (Link): Likewise.
* modules/fchownat (Link): Likewise.
* modules/fdopendir (Link): Likewise.
* modules/fdutimensat (Link): Likewise.
* modules/file-set (Link): Likewise.
* modules/file-type (Link): Likewise.
* modules/filenamecat (Link): Likewise.
* modules/findprog (Link): Likewise.
* modules/fstatat (Link): Likewise.
* modules/fstrcmp (Link): Likewise.
* modules/fts (Link): Likewise.
* modules/getcwd (Link): Likewise.
* modules/getlogin (Link): Likewise.
* modules/getopt-gnu (Link): Likewise.
* modules/getopt-posix (Link): Likewise.
* modules/getumask (Link): Likewise.
* modules/getusershell (Link): Likewise.
* modules/glob (Link): Likewise.
* modules/hamt (Link): Likewise.
* modules/hash-triple (Link): Likewise.
* modules/hashcode-file-inode (Link): Likewise.
* modules/human (Link): Likewise.
* modules/idcache (Link): Likewise.
* modules/issymlinkat (Link): Likewise.
* modules/javacomp (Link): Likewise.
* modules/javaexec (Link): Likewise.
* modules/javaversion (Link): Likewise.
* modules/kwset (Link): Likewise.
* modules/lchmod (Link): Likewise.
* modules/linebuffer (Link): Likewise.
* modules/linkat (Link): Likewise.
* modules/list-c++ (Link): Likewise.
* modules/long-options (Link): Likewise.
* modules/map-c++ (Link): Likewise.
* modules/mem-hash-map (Link): Likewise.
* modules/mkancesdirs (Link): Likewise.
* modules/mkdir-p (Link): Likewise.
* modules/mkdirat (Link): Likewise.
* modules/mkfifoat (Link): Likewise.
* modules/modechange (Link): Likewise.
* modules/mountlist (Link): Likewise.
* modules/obstack (Link): Likewise.
* modules/obstack-printf (Link): Likewise.
* modules/obstack-printf-gnu (Link): Likewise.
* modules/obstack-printf-posix (Link): Likewise.
* modules/obstack-zprintf (Link): Likewise.
* modules/obstack-zprintf-gnu (Link): Likewise.
* modules/obstack-zprintf-posix (Link): Likewise.
* modules/omap-c++ (Link): Likewise.
* modules/openat (Link): Likewise.
* modules/openat-die (Link): Likewise.
* modules/openat-safer (Link): Likewise.
* modules/opendirat (Link): Likewise.
* modules/oset-c++ (Link): Likewise.
* modules/pagealign_alloc (Link): Likewise.
* modules/parse-datetime (Link): Likewise.
* modules/parse-datetime2 (Link): Likewise.
* modules/pipe-filter-gi (Link): Likewise.
* modules/pipe-filter-ii (Link): Likewise.
* modules/propername (Link): Likewise.
* modules/propername-lite (Link): Likewise.
* modules/quote (Link): Likewise.
* modules/quotearg (Link): Likewise.
* modules/quotearg-simple (Link): Likewise.
* modules/readlinkat (Link): Likewise.
* modules/readtokens (Link): Likewise.
* modules/readtokens0 (Link): Likewise.
* modules/readutmp (Link): Likewise.
* modules/regex-quote (Link): Likewise.
* modules/relocatable-lib (Link): Likewise.
* modules/relocatable-prog (Link): Likewise.
* modules/renameat (Link): Likewise.
* modules/renameatu (Link): Likewise.
* modules/same (Link): Likewise.
* modules/save-cwd (Link): Likewise.
* modules/savedir (Link): Likewise.
* modules/savewd (Link): Likewise.
* modules/selinux-at (Link): Likewise.
* modules/set-c++ (Link): Likewise.
* modules/sh-quote (Link): Likewise.
* modules/sigpipe-die (Link): Likewise.
* modules/spawn-pipe (Link): Likewise.
* modules/stack (Link): Likewise.
* modules/statat (Link): Likewise.
* modules/string-desc-quotearg (Link): Likewise.
* modules/strsignal (Link): Likewise.
* modules/supersede (Link): Likewise.
* modules/symlinkat (Link): Likewise.
* modules/system-quote (Link): Likewise.
* modules/term-style-control (Link): Likewise.
* modules/timevar (Link): Likewise.
* modules/trim (Link): Likewise.
* modules/unicodeio (Link): Likewise.
* modules/unlinkat (Link): Likewise.
* modules/userspec (Link): Likewise.
* modules/utimecmp (Link): Likewise.
* modules/utimensat (Link): Likewise.
* modules/vc-mtime (Link): Likewise.
* modules/verror (Link): Likewise.
* modules/version-etc (Link): Likewise.
* modules/version-etc-fsf (Link): Likewise.
* modules/wait-process (Link): Likewise.
* modules/windows-cygpath (Link): Likewise.
* modules/xalignalloc (Link): Likewise.
* modules/xalloc (Link): Likewise.
* modules/xalloc-die (Link): Likewise.
* modules/xbinary-io (Link): Likewise.
* modules/xconcat-filename (Link): Likewise.
* modules/xfreopen (Link): Likewise.
* modules/xgetcwd (Link): Likewise.
* modules/xgetcwd-lgpl (Link): Likewise.
* modules/xgetdomainname (Link): Likewise.
* modules/xgetgroups (Link): Likewise.
* modules/xgethostname (Link): Likewise.
* modules/xhash (Link): Likewise.
* modules/xlist (Link): Likewise.
* modules/xmalloca (Link): Likewise.
* modules/xmap (Link): Likewise.
* modules/xmemcoll (Link): Likewise.
* modules/xmemdup0 (Link): Likewise.
* modules/xomap (Link): Likewise.
* modules/xoset (Link): Likewise.
* modules/xprintf (Link): Likewise.
* modules/xprintf-gnu (Link): Likewise.
* modules/xprintf-posix (Link): Likewise.
* modules/xreadlink (Link): Likewise.
* modules/xreadlinkat (Link): Likewise.
* modules/xset (Link): Likewise.
* modules/xsetenv (Link): Likewise.
* modules/xstdopen (Link): Likewise.
* modules/xstrerror (Link): Likewise.
* modules/xstriconv (Link): Likewise.
* modules/xstring-buffer (Link): Likewise.
* modules/xstring-buffer-reversed (Link): Likewise.
* modules/xstring-desc (Link): Likewise.
* modules/xstrndup (Link): Likewise.
* modules/xstrtol-error (Link): Likewise.
* modules/xsublist (Link): Likewise.
* modules/xvasprintf (Link): Likewise.
* modules/xvasprintf-gnu (Link): Likewise.
* modules/xvasprintf-posix (Link): Likewise.
* modules/yesno (Link): Likewise.
2025-09-02 14:24:55 +02:00
Bruno Haible b2927d1b1f strcasecmp, strncasecmp: New modules.
* modules/strcasecmp: New file.
* modules/strncasecmp: New file.
* modules/strcase: Merely depend on strcasecmp, strncasecmp.
* m4/strcasecmp.m4: New file, based on m4/strcase.m4.
* m4/strncasecmp.m4: New file, based on m4/strcase.m4.
* m4/strcase.m4: Remove file.
* lib/strings.in.h (strcasecmp, strncasecmp): Fix typo in warning
message.
* lib/strcasecmp.c: Improve comment.
* lib/strncasecmp.c: Likewise.
* doc/posix-functions/strcasecmp.texi: Mention module strcasecmp, not
module strcase.
* doc/posix-functions/strncasecmp.texi: Mention module strncasecmp, not
module strcase.
* doc/strings.texi (Comparison of string APIs): Reference modules
strcasecmp, strncasecmp.
* modules/argp (Depends-on): Add strcasecmp. Remove strcase.
* modules/strcasestr-simple (Depends-on): Add strncasecmp. Remove
strcase.
* modules/strptime (Depends-on): Likewise.
2025-02-16 13:45:35 +01:00
Bruno Haible 6ebad7abf8 Rename module stdbool-h to bool.
Reported by Paul Eggert in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00193.html>.

* modules/bool: Renamed from modules/stdbool-h.
* modules/bool-tests: Renamed from modules/stdbool-h-tests.
* modules/bool-c++-tests: Renamed from modules/stdbool-h-c++-tests.
* tests/test-bool.c: Renamed from tests/test-stdbool-h.c.
* tests/test-bool-c++.cc: Renamed from tests/test-stdbool-h-c++.cc.
* tests/test-bool-c++2.cc: Renamed from tests/test-stdbool-h-c++2.cc.
* modules/stdbool-h-c99-tests: Update.
* modules/stdbool-h-c99-c++-tests: Update.
* tests/test-stdbool-h-c99.c: Update.
* tests/test-stdbool-h-c99-c++.cc: Update.
* doc/posix-headers/stdbool.texi: Update.
* doc/gnulib-readme.texi: Update.
* doc/gnulib.texi: Update.
* modules/* (Depends-on): Update.
* modules/stdbool: Update.
2024-12-28 06:20:34 +01:00
Bruno Haible b845b0cb61 Rename module sysexits to sysexits-h.
* modules/sysexits-h: Renamed from modules/sysexits.
* modules/sysexits-h-tests: Renamed from modules/sysexits-tests.
* modules/sysexits-h-c++-tests: Renamed from modules/sysexits-c++-tests.
* tests/test-sysexits-h.c: Renamed from tests/test-sysexits.c.
* tests/test-sysexits-h-c++.cc: Renamed from tests/test-sysexits-c++.cc.
* doc/glibc-headers/sysexits.texi: Update.
* modules/* (Depends-on): Update.
* modules/sysexits: New file.
2024-12-27 23:39:46 +01:00
Bruno Haible a95257716b Rename module stdio to stdio-h.
* modules/stdio-h: Renamed from modules/stdio.
* modules/stdio-h-tests: Renamed from modules/stdio-tests.
* modules/stdio-h-c++-tests: Renamed from modules/stdio-c++-tests.
* tests/test-stdio-h.c: Renamed from tests/test-stdio.c.
* tests/test-stdio-h-c++.cc: Renamed from tests/test-stdio-c++.cc.
* tests/test-stdio-h-c++2.cc: Renamed from tests/test-stdio-c++2.cc.
* doc/posix-headers/stdio.texi: Update.
* doc/posix-functions/fgetc.texi: Update.
* doc/posix-functions/fgets.texi: Update.
* doc/posix-functions/fprintf.texi: Update.
* doc/posix-functions/fputc.texi: Update.
* doc/posix-functions/fputs.texi: Update.
* doc/posix-functions/fread.texi: Update.
* doc/posix-functions/fscanf.texi: Update.
* doc/posix-functions/fwrite.texi: Update.
* doc/posix-functions/getc.texi: Update.
* doc/posix-functions/getchar.texi: Update.
* doc/posix-functions/printf.texi: Update.
* doc/posix-functions/putc.texi: Update.
* doc/posix-functions/putchar.texi: Update.
* doc/posix-functions/puts.texi: Update.
* doc/posix-functions/read.texi: Update.
* doc/posix-functions/scanf.texi: Update.
* doc/posix-functions/vfprintf.texi: Update.
* doc/posix-functions/vprintf.texi: Update.
* doc/posix-functions/write.texi: Update.
* modules/* (Depends-on): Update.
* modules/stdio: New file.
2024-12-27 23:35:46 +01:00
Bruno Haible 3c501171cf Rename module stdbool to stdbool-h.
* modules/stdbool-h: Renamed from modules/stdbool.
* modules/stdbool-h-tests: Renamed from modules/stdbool-tests.
* modules/stdbool-h-c++-tests: Renamed from modules/stdbool-c++-tests.
* tests/test-stdbool-h.c: Renamed from tests/test-stdbool.c.
* tests/test-stdbool-h-c++.cc: Renamed from tests/test-stdbool-c++.cc.
* tests/test-stdbool-h-c++2.cc: Renamed from tests/test-stdbool-c++2.cc.
* tests/test-stdbool-h-c99.c: Update.
* tests/test-stdbool-h-c99-c++.cc: Update.
* doc/posix-headers/stdbool.texi: Update.
* doc/gnulib-readme.texi: Update.
* doc/gnulib.texi: Update.
* modules/* (Depends-on): Update.
* modules/stdbool: New file.
2024-12-27 23:35:24 +01:00
Paul Eggert c593e834e1 alignasof: new module
This splits off support for the C23 keywords alignas and alignof,
from the now-deprecated stdalign module.  The latter now merely
provides C11 support.
* MODULES.html.sh, NEWS, doc/gnulib.texi:
* doc/posix-headers/stdalign.texi: Document the change.
* lib/stdalign.in.h: Remove most of the definitions (which are now
supplied by the alignasof module), leaving only
__alignas_is_defined and __alignof_is_defined.
* modules/alignasof, modules/alignasof-tests: New files.
* m4/stdalign.m4 (gl_ALIGNASOF): New macro, with
most of the contents of the old gl_STDALIGN_H.
Do not define __alignas_is_defined or __alignof_is_defined.
(gl_STDALIGN_H): Rely on gl_ALIGNASOF for most of the work.
* modules/alignalloc, modules/alignof, modules/argp:
* modules/crypto/md4-buffer, modules/crypto/md5-buffer:
* modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
* modules/crypto/sha512-buffer, modules/crypto/sm3-buffer:
* modules/fts, modules/rawmemchr, modules/relocatable-prog-wrapper:
* modules/stddef-tests, modules/sys_socket:
Depend on alignasof, not stdalign.
* modules/stdalign: Deprecate.  Depend on alignasof.
* modules/stdalign-tests: Move most contents to the new module
alignasof-tests, and depend on that.
2023-01-15 11:51:07 -08:00
Paul Eggert 2f858e5e43 Rely on new stdbool behavior
Prefer the C23 style to the C99 style,
since the stdbool module now supports C23.
* lib/acl-internal.h, lib/acl.h, lib/argmatch.c, lib/argmatch.h:
* lib/argp-help.c, lib/argv-iter.h, lib/asyncsafe-spin.c:
* lib/backup-internal.h, lib/backupfile.c, lib/base32.h:
* lib/base64.h, lib/basename-lgpl.c, lib/bitset/base.h:
* lib/c-ctype.h, lib/c-strcasestr.c, lib/canonicalize-lgpl.c:
* lib/canonicalize.c, lib/chdir-long.c, lib/chown.c:
* lib/classpath.h, lib/clean-temp-private.h:
* lib/clean-temp-simple.c, lib/clean-temp-simple.h:
* lib/clean-temp.c, lib/clean-temp.h, lib/cloexec.h:
* lib/close-stream.c, lib/closein.c, lib/closeout.c, lib/closeout.h:
* lib/csharpcomp.h, lib/csharpexec.h, lib/cycle-check.c:
* lib/cycle-check.h, lib/des.h, lib/dfa.h, lib/diffseq.h:
* lib/dirname.h, lib/exclude.c, lib/exclude.h, lib/execute.c:
* lib/execute.h, lib/execvpe.c, lib/fatal-signal.c, lib/fchdir.c:
* lib/file-set.h, lib/filevercmp.c, lib/findprog-in.c:
* lib/findprog.c, lib/findprog.h, lib/fma.c, lib/fnmatch.c:
* lib/fopen.c, lib/freadable.h, lib/freading.h, lib/freopen-safer.c:
* lib/fstrcmp.c, lib/fsusage.h, lib/fts.c, lib/fwritable.h:
* lib/fwriteerror.c, lib/fwriting.h, lib/gen-uni-tables.c:
* lib/getaddrinfo.c, lib/getcwd.c, lib/getloadavg.c:
* lib/getndelim2.c, lib/getpass.c, lib/getrandom.c:
* lib/git-merge-changelog.c, lib/gl_list.h, lib/gl_map.h:
* lib/gl_omap.h, lib/gl_oset.h, lib/gl_set.h, lib/glob.c:
* lib/glthread/cond.h, lib/hamt.h, lib/hard-locale.h:
* lib/hash-triple.h, lib/hash.h, lib/human.h, lib/i-ring.h:
* lib/isapipe.c, lib/javacomp.h, lib/javaexec.h, lib/javaversion.c:
* lib/lchown.c, lib/localeinfo.h, lib/localename.c:
* lib/long-options.h, lib/malloc/dynarray.h, lib/mbchar.h:
* lib/mbfile.h, lib/mbiter.h, lib/mbmemcasecoll.h, lib/mbscasestr.c:
* lib/mbsstr.c, lib/mbuiter.h, lib/mkdir-p.h, lib/modechange.h:
* lib/mountlist.h, lib/nanosleep.c, lib/nonblocking.h:
* lib/nstrftime.c, lib/openat.c, lib/openat.h, lib/os2-spawn.c:
* lib/parse-datetime.h, lib/pipe-filter-aux.c, lib/pipe-filter-gi.c:
* lib/pipe-filter-ii.c, lib/pipe-filter.h, lib/posixtm.h:
* lib/priv-set.c, lib/progreloc.c, lib/propername.c:
* lib/pthread-spin.c, lib/quotearg.c, lib/readtokens.c:
* lib/readtokens0.h, lib/readutmp.c, lib/regex-quote.h:
* lib/regex_internal.h, lib/relocwrapper.c, lib/rename.c:
* lib/renameatu.c, lib/rpmatch.c, lib/same.c, lib/same.h:
* lib/save-cwd.c, lib/savewd.c, lib/savewd.h, lib/spawn-pipe.h:
* lib/spawni.c, lib/stack.h, lib/stat.c, lib/stdckdint.in.h:
* lib/strcasestr.c, lib/strfmon_l.c, lib/striconveh.c:
* lib/striconveha.h, lib/string-buffer.h, lib/strptime.c:
* lib/strstr.c, lib/strtod.c, lib/supersede.h, lib/system-quote.c:
* lib/tempname.c, lib/term-style-control.c:
* lib/term-style-control.h, lib/textstyle.in.h, lib/time_rz.c:
* lib/tmpdir.c, lib/tmpdir.h, lib/tmpfile.c, lib/unicase.in.h:
* lib/unicase/caseprop.h, lib/unicase/invariant.h:
* lib/unicase/u16-casemap.c, lib/unicase/u16-ct-totitle.c:
* lib/unicase/u16-is-invariant.c, lib/unicase/u32-casemap.c:
* lib/unicase/u32-ct-totitle.c, lib/unicase/u32-is-invariant.c:
* lib/unicase/u8-casemap.c, lib/unicase/u8-ct-totitle.c:
* lib/unicase/u8-is-invariant.c, lib/unictype.in.h:
* lib/unigbrk.in.h, lib/unigbrk/u16-grapheme-breaks.c:
* lib/unigbrk/u32-grapheme-breaks.c:
* lib/unigbrk/u8-grapheme-breaks.c:
* lib/unigbrk/uc-grapheme-breaks.c, lib/uniname/uniname.c:
* lib/unistr.in.h, lib/unlinkdir.h, lib/userspec.h, lib/utime.c:
* lib/utimecmp.c, lib/utimens.c, lib/wait-process.h:
* lib/windows-cond.c, lib/windows-spawn.c, lib/windows-spawn.h:
* lib/windows-timedrwlock.c, lib/write-any-file.h, lib/xbinary-io.c:
* lib/xstrtod.h, lib/yesno.h:
* tests/nap.h, tests/qemu.h, tests/test-areadlink-with-size.c:
* tests/test-areadlink.c, tests/test-areadlinkat-with-size.c:
* tests/test-areadlinkat.c, tests/test-base32.c:
* tests/test-base64.c, tests/test-ceil2.c, tests/test-ceilf2.c:
* tests/test-chown.c, tests/test-dirname.c, tests/test-dup-safer.c:
* tests/test-dup3.c, tests/test-exclude.c:
* tests/test-execute-child.c, tests/test-execute-main.c:
* tests/test-execute-script.c, tests/test-explicit_bzero.c:
* tests/test-fchownat.c, tests/test-fcntl-safer.c:
* tests/test-fcntl.c, tests/test-fdutimensat.c:
* tests/test-filenamecat.c, tests/test-floor2.c:
* tests/test-floorf2.c, tests/test-fstatat.c, tests/test-fstrcmp.c:
* tests/test-futimens.c, tests/test-getlogin.h, tests/test-getopt.h:
* tests/test-hard-locale.c, tests/test-hash.c:
* tests/test-idpriv-drop.c, tests/test-idpriv-droptemp.c:
* tests/test-immutable.c, tests/test-intprops.c:
* tests/test-lchown.c, tests/test-link.c, tests/test-linkat.c:
* tests/test-lstat.c, tests/test-mbmemcasecmp.c:
* tests/test-mbmemcasecoll.c, tests/test-mkdir.c:
* tests/test-mkdirat.c, tests/test-mkfifo.c, tests/test-mkfifoat.c:
* tests/test-mknod.c, tests/test-nonblocking-pipe-child.c:
* tests/test-nonblocking-pipe-main.c:
* tests/test-nonblocking-socket-child.c:
* tests/test-nonblocking-socket-main.c, tests/test-open.c:
* tests/test-openat.c, tests/test-pipe.c, tests/test-pipe2.c:
* tests/test-poll.c, tests/test-posix_spawn-chdir.c:
* tests/test-posix_spawn-dup2-stdin.c:
* tests/test-posix_spawn-dup2-stdout.c:
* tests/test-posix_spawn-fchdir.c, tests/test-posix_spawn-open1.c:
* tests/test-posix_spawn-open2.c, tests/test-quotearg-simple.c:
* tests/test-quotearg.c, tests/test-readlink.c:
* tests/test-readlinkat.c, tests/test-readtokens.c:
* tests/test-rename.c, tests/test-renameat.c:
* tests/test-renameatu.c, tests/test-rmdir.c, tests/test-round2.c:
* tests/test-select.h, tests/test-spawn-pipe-child.c:
* tests/test-spawn-pipe-main.c, tests/test-spawn-pipe-script.c:
* tests/test-stack.c, tests/test-stat.c, tests/test-supersede.c:
* tests/test-symlink.c, tests/test-symlinkat.c:
* tests/test-system-quote-main.c:
* tests/test-term-style-control-hello.c:
* tests/test-term-style-control-yes.c, tests/test-timespec.c:
* tests/test-trunc2.c, tests/test-truncf2.c, tests/test-unlink.c:
* tests/test-unlinkat.c, tests/test-userspec.c, tests/test-utime.c:
* tests/test-utimens.c, tests/test-utimensat.c:
* tests/unictype/test-categ_byname.c:
* tests/unigbrk/test-uc-is-grapheme-break.c:
Don’t include stdbool.h.
* modules/acl, modules/xgetcwd:
Don’t depend on stdbool, as these modules don’t use bool.
* modules/argp, modules/bitset, modules/diffseq, modules/file-has-acl:
* modules/gen-uni-tables, modules/getrandom:
* modules/hash-triple-simple, modules/posix_spawn-internal:
* modules/strcasestr, modules/supersede, modules/system-quote:
* modules/uniconv/base, modules/uniname/uniname, modules/utime:
* modules/windows-timedrwlock:
Depend on stdbool, as these modules use bool.
2022-09-10 11:45:08 -05:00
Bruno Haible ec87cff2ac Assume GNU gettext >= 0.17.
* modules/vasprintf (Notice): Remove.
* modules/xvasprintf (Notice): Remove.
* modules/xprintf (Notice): Remove.
* modules/error (Notice): Remove.
* modules/verror (Notice): Remove.
* modules/argp (Notice): Remove.
* modules/propername (Notice): Remove.
* lib/propername.h: Remove outdated comment.
2021-07-25 13:18:20 +02:00
Bruno Haible 387d654cab Use the correct printf format attribute for mingw.
Reported by Reuben Thomas <rrt@sc3d.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.

* modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
* modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.

* lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
(_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
_GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
(_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.

* modules/vasnprintf (Depends-on): Add stdio.
* lib/vasnprintf.h: Include <stdio.h>.
(asnprintf, vasnprintf): Use the standard printf format attribute.

* modules/xvasprintf (Depends-on): Add stdio.
* lib/xvasprintf.h: Include <stdio.h>.
(xasprintf, xvasprintf): Use the standard printf format attribute.

* modules/xprintf (Depends-on): List stdio first.
* lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
depends on GNULIB_VPRINTF_POSIX.
(xfprintf, xvfprintf): Use a printf format attribute that depends on
GNULIB_VFPRINTF_POSIX.

* modules/c-vasnprintf (Depends-on): Add stdio.
* lib/c-vasnprintf.h: Include <stdio.h>.
(c_vasnprintf): Use the standard printf format attribute.

* modules/c-vasprintf (Depends-on): Add stdio.
* lib/c-vasprintf.h: Include <stdio.h>.
(c_asprintf, c_vasprintf): Use the standard printf format attribute.

* modules/c-vsnprintf (Depends-on): Add stdio.
* lib/c-vsnprintf.h: Include <stdio.h>.
(c_vsnprintf): Use the standard printf format attribute.

* modules/c-snprintf (Depends-on): Add stdio.
* lib/c-snprintf.h: Include <stdio.h>.
(c_snprintf): Use the standard printf format attribute.

* modules/c-xvasprintf (Depends-on): Add stdio.
* lib/c-xvasprintf.h: Include <stdio.h>.
(c_xasprintf, c_xvasprintf): Use the standard printf format attribute.

* modules/error (Depends-on): Depend on stdio always.
* lib/error.h: Include <stdio.h>.
(_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
(error, error_at_line): Use a printf format attribute that depends on
GNULIB_VFPRINTF_POSIX.
* lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
_GL_ATTRIBUTE_FORMAT_PRINTF.

* modules/verror (Depends-on): Add stdio.
* lib/verror.h: Include <stdio.h>. Don't include "error.h".
(verror, verror_at_line): Use the standard printf format attribute.
* lib/verror.c: Include "error.h".

* modules/argp (Depends-on): Add stdio.
* lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.

* modules/libtextstyle-optional (Depends-on): Add stdio.
* lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
printf format attribute.

* tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
format attribute.
2020-11-24 01:32:51 +01:00
Bruno Haible aa8369e4a2 argp: Trim module dependencies.
* lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
* modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
2020-07-05 21:05:21 +02:00
Paul Eggert 37e3ad9a80 argp: better 'inline'
Use extern-inline module to declare extern inline functions.
This avoids some bogus warning diagnostics.  Problem discovered
when modifying GNU tar to use the manywarnings module.
* lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
* lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
Define based on extern-inline.
* modules/argp (Depends-on): Add extern-inline.
2012-12-18 18:00:09 -08:00
Paul Eggert bebd93f5da argp: use stdalign
* lib/argp-parse.c: Include <stdalign.h>.
(alignof): Remove.
* modules/argp (Depends-on): Add stdalign.
2011-10-27 13:05:42 -07:00
Bruno Haible 1c8b757146 Rename module 'malloc' -> 'malloc-gnu'. 2010-08-28 23:20:27 +02:00
Eric Blake ce2d0d6e77 argp: avoid memory leak
argp has been leaking memory since commit 79c0a43, in Jul 2006.

* modules/argp (Depends-on): Use dirname-lgpl, not dirname.
* lib/argp-namefrob.h (__argp_base_name): Use last_component, not
base_name, since the latter malloc()s and can call exit().

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-10-29 18:39:36 -06:00
Eric Blake 012cb3be16 getopt: update client modules
* modules/argp (Depends-on): Use getopt-gnu.
* modules/git-merge-changelog (Depends-on): Likewise.
* modules/long-options (Depends-on): Likewise.
* modules/xstrtol (Depends-on): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-08-13 13:02:19 -06:00
Bruno Haible 76ce132758 Avoid warnings from 'aclocal' when AM_XGETTEXT_OPTION is not defined. 2009-08-09 19:58:07 +02:00
Bruno Haible 8ea9248597 Mark 'memmove' obsolete. 2008-11-02 17:35:43 +01:00
Bruno Haible e7221a5e9d Mark 'memchr' obsolete. 2008-11-02 16:34:09 +01:00
Colin Watson fab30d537b Make the functions argp_error, argp_failure known to xgettext. 2008-01-14 23:35:44 +01:00
Eric Blake d5d3e86d32 Fix strerror on Interix.
* lib/string_.h (strerror): Declare replacement.
* doc/functions/strerror.texi (strerror): Document the Interix
shortcoming.
* modules/string (Makefile.am): Support new hooks.
* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
* m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
gl_FUNC_STRERROR_SEPARATE.
(gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
* lib/strerror.c (rpl_strerror): Provide replacement.
* modules/strerror (Depends-on): Add string.
(configure.ac): Detect use of module.
* tests/test-strerror.c: New file.
* modules/strerror-tests: New test module.
* modules/argp (Depends-on): Add strerror.
* modules/error (Depends-on): Likewise.
Reported by Martin Koeppe.

Signed-off-by: Eric Blake <ebb9@byu.net>
2007-09-25 10:40:16 -06:00
Bruno Haible 47cd1ae5a3 arp depends on sleep. 2007-05-01 22:20:41 +00:00
Sergey Poznyakoff 9399d2a5ae Depend on malloc 2006-09-09 05:14:25 +00:00
Paul Eggert 3e12186829 Remove the 'restrict' module, and modify everybody to use AC_C_RESTRICT
rather than gl_C_RESTRICT.
2006-08-09 22:52:40 +00:00
Sergey Poznyakoff 0b638ecfb5 (Files): Add argp-pin.c
(Depends-on): dirname
(lib_SOURCES): Add argp-pin.c
2005-12-09 12:31:34 +00:00
Paul Eggert b567fb8da4 * modules/argp (Depends-on): Remove unlocked-io.
* m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
Instead, test for *_unlocked function declarations directly.
2005-07-14 22:15:14 +00:00
Sergey Poznyakoff 01f217023f (Depends-on): Add unlocked-io 2005-07-09 17:17:31 +00:00
Sergey Poznyakoff 820ebcb25c Depend on vsnprintf 2005-01-11 10:07:38 +00:00
Paul Eggert 917752adb1 Remove dependencies on unlocked-io. 2004-10-04 20:17:39 +00:00
Paul Eggert 2f40372243 (Maintainer): Replace Simon Josefsson by Sergey Poznyakoff. 2004-09-30 16:40:59 +00:00
Bruno Haible 5143f4e91f Add a license tag to every module. 2004-09-22 15:11:04 +00:00
Paul Eggert cd1d1d6c0b (Files): Add m4/unlocked-io.m4.
(Depends-on): Add extensions.
2004-08-12 08:03:45 +00:00
Paul Eggert dc8bf912bf Simplify argp by assuming alloca module. 2004-05-18 05:18:40 +00:00
Paul Eggert ffd8553d20 * modules/argp: Remove dependency on alloca. 2004-05-04 18:39:43 +00:00
Bruno Haible baa7905d0e A little more dependencies of the 'argp' module. 2003-10-10 19:41:12 +00:00
Bruno Haible df0063a68c Update. 2003-08-18 17:03:09 +00:00
Bruno Haible 878d94d185 New module argp. 2003-06-10 11:29:45 +00:00