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
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
116997309c
Rename module stdckdint to stdckdint-h.
...
* modules/stdckdint-h: Renamed from modules/stdckdint.
* modules/stdckdint-h-tests: Renamed from modules/stdckdint-tests.
* modules/stdckdint-h-c++-tests: Renamed from
modules/stdckdint-c++-tests.
* tests/test-stdckdint-h.c: Renamed from tests/test-stdckdint.c.
* tests/test-stdckdint-h-c++.cc: Renamed from
tests/test-stdckdint-c++.cc.
* doc/posix-headers/stdckdint.texi: Update.
* doc/intprops.texi: Update.
* modules/* (Depends-on): Update.
* modules/stdckdint: New file.
2024-12-27 23:35:28 +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
Bruno Haible
c26137915e
Rename module inttypes to inttypes-h.
...
* modules/inttypes-h: Renamed from modules/inttypes.
* modules/inttypes-h-tests: Renamed from modules/inttypes-tests.
* modules/inttypes-h-c++-tests: Renamed from modules/inttypes-c++-tests.
* tests/test-inttypes-h.c: Renamed from tests/test-inttypes.c.
* tests/test-inttypes-h-c++.cc: Renamed from tests/test-inttypes-c++.cc.
* tests/test-inttypes-h-c++2.cc: Renamed from tests/test-inttypes-c++2.cc.
* doc/posix-headers/inttypes.texi: Update.
* modules/* (Depends-on): Update.
* modules/inttypes: New file.
2024-12-27 23:14:13 +01:00
Bruno Haible
6f6cc5e059
Use the translation domain "gnulib".
...
* lib/argmatch.c (_): Use translation domain "gnulib".
* lib/bitset/stats.c (_): Likewise.
* lib/c-stack.c (_): Likewise.
* lib/clean-temp.c (_): Likewise.
* lib/clean-temp-simple.c (_): Likewise.
* lib/closein.c (_): Likewise.
* lib/closeout.c (_): Likewise.
* lib/copy-acl.c (_): Likewise.
* lib/copy-file.c (_): Likewise.
* lib/csharpcomp.c (_): Likewise.
* lib/csharpexec.c (_): Likewise.
* lib/cygpath.c (_): Likewise.
* lib/dfa.c (_): Likewise.
* lib/error.c (_): Likewise.
* lib/execute.c (_): Likewise.
* lib/gai_strerror.c (_): Likewise.
* lib/getaddrinfo.c (_): Likewise.
* lib/getopt.c (_): Likewise.
* lib/javacomp.c (_): Likewise.
* lib/javaexec.c (_): Likewise.
* lib/javaversion.c (_): Likewise.
* lib/mkdir-p.c (_): Likewise.
* lib/obstack.c (_) [!_LIBC]: Likewise.
* lib/openat-die.c (_): Likewise.
* lib/os2-spawn.c (_): Likewise.
* lib/pagealign_alloc.c (_): Likewise.
* lib/parse-datetime.y (_): Likewise.
* lib/pipe-filter-gi.c (_): Likewise.
* lib/pipe-filter-ii.c (_): Likewise.
* lib/quotearg.c (_): Likewise.
* lib/regex_internal.h (_): Likewise.
* lib/rpmatch.c (_): Likewise.
* lib/set-acl.c (_): Likewise.
* lib/sigpipe-die.c (_): Likewise.
* lib/spawn-pipe.c (_): Likewise.
* lib/strsignal.c (_) [!_LIBC]: Likewise.
* lib/timevar.c (_): Likewise.
* lib/unicodeio.c (_): Likewise.
* lib/userspec.c (_): Likewise.
* lib/version-etc.c (_): Likewise.
* lib/wait-process.c (_): Likewise.
* lib/xalloc-die.c (_): Likewise.
* lib/xbinary-io.c (_): Likewise.
* lib/xfreopen.c (_): Likewise.
* lib/xmemcoll.c (_): Likewise.
* lib/xsetenv.c (_): Likewise.
* lib/xstdopen.c (_): Likewise.
* lib/xstrerror.c (_): Likewise.
* modules/acl (Depends-on): Add gnulib-i18n.
* modules/argmatch (Depends-on): Likewise.
* modules/bitset (Depends-on): Likewise.
* modules/c-stack (Depends-on): Likewise.
* modules/clean-temp (Depends-on): Likewise.
* modules/clean-temp-simple (Depends-on): Likewise.
* modules/closein (Depends-on): Likewise.
* modules/closeout (Depends-on): Likewise.
* modules/copy-file (Depends-on): Likewise.
* modules/csharpcomp (Depends-on): Likewise.
* modules/csharpexec (Depends-on): Likewise.
* modules/cygpath (Depends-on): Likewise.
* modules/dfa (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/execute (Depends-on): Likewise.
* modules/getaddrinfo (Depends-on): Likewise.
* modules/getopt-posix (Depends-on): Likewise.
* modules/javacomp (Depends-on): Likewise.
* modules/javaexec (Depends-on): Likewise.
* modules/javaversion (Depends-on): Likewise.
* modules/mkdir-p (Depends-on): Likewise.
* modules/obstack (Depends-on): Likewise.
* modules/openat-die (Depends-on): Likewise.
* modules/pagealign_alloc (Depends-on): Likewise.
* modules/parse-datetime (Depends-on): Likewise.
* modules/pipe-filter-gi (Depends-on): Likewise.
* modules/pipe-filter-ii (Depends-on): Likewise.
* modules/quotearg (Depends-on): Likewise.
* modules/regex (Depends-on): Likewise.
* modules/rpmatch (Depends-on): Likewise.
* modules/sigpipe-die (Depends-on): Likewise.
* modules/spawn-pipe (Depends-on): Likewise.
* modules/strsignal (Depends-on): Likewise.
* modules/timevar (Depends-on): Likewise.
* modules/unicodeio (Depends-on): Likewise.
* modules/userspec (Depends-on): Likewise.
* modules/version-etc (Depends-on): Likewise.
* modules/wait-process (Depends-on): Likewise.
* modules/xalloc-die (Depends-on): Likewise.
* modules/xbinary-io (Depends-on): Likewise.
* modules/xfreopen (Depends-on): Likewise.
* modules/xmemcoll (Depends-on): Likewise.
* modules/xsetenv (Depends-on): Likewise.
* modules/xstdopen (Depends-on): Likewise.
* modules/xstrerror (Depends-on): Likewise.
2024-12-08 18:05:31 +01:00
Paul Eggert
4f1f3d3cbe
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.
2024-09-16 11:12:51 -07:00
Paul Eggert
75f19d5efb
parse-datetime: don’t depend on tzname
...
* lib/parse-datetime.y (TIME_ZONE_BUFSIZE): Move earlier.
(parser_control) [!HAVE_STRUCT_TM_TM_ZONE]:
New member tz_abbr, to save abbrs calculated by strftime %Z.
(populate_local_time_zone_table): New function, which
optimizes the HAVE_STRUCT_TM_TM_ZONE case as before,
and falls back on strftime with %Z otherwise.
Although strftime %Z can be more accurate than the old tzname
based method, the new heuristic is still wrong so often that it
probably doesn’t help all that much.
(parse_datetime_body): Use it.
* modules/parse-datetime (Depends-on): Remove tzname.
2024-06-16 16:38:20 -07:00
Bruno Haible
609921b1ee
parse-datetime: Revert last commit.
...
* modules/parse-datetime (Makefile.am): Remove the '$(srcdir)/' prefix
from the target. Add a comment.
2024-06-12 04:10:17 +02:00
Bruno Haible
76bf71f737
parse-datetime: Add support for VPATH builds with OpenBSD 'make'.
...
* modules/parse-datetime (Makefile.am): Prefix the target file name
with '$(srcdir)/'.
2024-06-11 23:31:33 +02:00
Bruno Haible
b53e7a0509
parse-datetime: Support time zone names on MSVC.
...
* lib/parse-datetime.y (parse_datetime_body): Use HAVE_TZNAME_ARRAY
instead of HAVE_TZNAME. Don't declare tzname.
* modules/parse-datetime (Depends-on): Add tzname.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don't invoke
AC_STRUCT_TIMEZONE.
2024-06-06 18:22:21 +02:00
Bruno Haible
0ae976a994
parse-datetime: Simplify.
...
* modules/parse-datetime (Makefile.am): Don't generate
parse-datetime-gen.h.
2024-03-09 13:00:28 +01:00
Paul Eggert
29bf76b33d
stdckdint: use in parse-datetime
...
* lib/parse-datetime.y (apply_relative_time, zone, date)
(iso_8601_date, relunit, relunit_snumber, time_zone_hhmm)
(to_tm_year, yylex, parse_datetime_body):
Prefer ckd_add to INT_ADD_WRAPV etc., and include stdckdint.h.
* modules/parse-datetime (Depends-on): Add stdckdint.
2023-05-17 12:49:42 -07:00
Bruno Haible
3ef8e9910a
time-h: Renamed from time.
...
* modules/time-h: Renamed from modules/time.
* tests/test-time-h.c: Renamed from tests/test-time.c.
* modules/time-h-tests: Renamed from modules/time-tests. Update.
* tests/test-time-h-c++.cc: Renamed from tests/test-time-c++.cc.
* tests/test-time-h-c++2.cc: Renamed from tests/test-time-c++2.cc.
* modules/time-h-c++-tests: Renamed from modules/time-c++-tests. Update.
* modules/cond (Depends-on): Update.
* modules/ctime (Depends-on): Likewise.
* modules/localtime (Depends-on): Likewise.
* modules/mktime (Depends-on): Likewise.
* modules/nanosleep (Depends-on): Likewise.
* modules/parse-datetime (Depends-on): Likewise.
* modules/posixcheck (Depends-on): Likewise.
* modules/pthread-h (Depends-on): Likewise.
* modules/stat-time (Depends-on): Likewise.
* modules/stat-time-tests (Depends-on): Likewise.
* modules/strftime-fixes (Depends-on): Likewise.
* modules/strptime (Depends-on): Likewise.
* modules/sys_stat (Depends-on): Likewise.
* modules/tempname (Depends-on): Likewise.
* modules/threads-h (Depends-on): Likewise.
* modules/time_r (Depends-on): Likewise.
* modules/time_rz (Depends-on): Likewise.
* modules/timegm (Depends-on): Likewise.
* modules/timespec (Depends-on): Likewise.
* modules/timespec_get (Depends-on): Likewise.
* modules/timespec_getres (Depends-on): Likewise.
* modules/tzset (Depends-on): Likewise.
* modules/usleep-tests (Depends-on): Likewise.
* modules/utime (Depends-on): Likewise.
* modules/utimecmp (Depends-on): Likewise.
* modules/utimens (Depends-on): Likewise.
* modules/windows-cond (Depends-on): Likewise.
* modules/windows-timedmutex (Depends-on): Likewise.
* modules/windows-timedrecmutex (Depends-on): Likewise.
* modules/windows-timedrwlock (Depends-on): Likewise.
* modules/xnanosleep (Depends-on): Likewise.
* doc/posix-headers/time.texi: Update.
* NEWS: Mention the change.
2023-03-08 10:41:00 +01:00
Paul Eggert
28465e160f
assert-h: prefer to ‘verify’
...
Where it’s easy, prefer ‘static_assert’ to ‘verify’,
as this simplifies the source by removing the need to
include verify.h. Keep using ‘verify’ if verify.h
is used for other reasons, or if code is shared with glibc.
* lib/alignalloc.c, lib/argmatch.h, lib/c32is-impl.h:
* lib/c32snrtombs.c, lib/c32srtombs.c, lib/exclude.c:
* lib/filevercmp.c, lib/fma.c, lib/i-ring.h, lib/ino-map.c:
* lib/localeinfo.c, lib/malloca.c, lib/mbrtoc32.c, lib/mbrtowc.c:
* lib/mbsinit.c, lib/mbsnrtoc32s.c, lib/mbsrtoc32s.c:
* lib/nanosleep.c, lib/parse-datetime.y, lib/pipe2.c:
* lib/rawmemchr.c, lib/relocwrapper.c, lib/sleep.c:
* lib/stat-w32.c, lib/strerror.c, lib/strtoimax.c:
* lib/utimecmp.c, lib/vasnprintf.c, tests/test-alignof.c:
* tests/test-intprops.c, tests/test-libgmp.c:
* tests/test-limits-h.c, tests/test-locale.c:
* tests/test-pthread.c, tests/test-round2.c:
* tests/test-stdalign.c, tests/test-stddef.c, tests/test-stdio.c:
* tests/test-stdlib.c, tests/test-string.c, tests/test-sys_stat.c:
* tests/test-time.c, tests/test-uchar.c, tests/test-unistd.c:
* tests/test-wchar.c:
Prefer static_assert to verify, and stop including verify.h.
* lib/stat.c: Don’t include verify.h (this include was unnecessary).
* modules/alignalloc, modules/alignof-tests, modules/argmatch:
* modules/c-vasnprintf, modules/c32isalnum, modules/c32isalpha:
* modules/c32isblank, modules/c32iscntrl, modules/c32isdigit:
* modules/c32isgraph, modules/c32islower, modules/c32isprint:
* modules/c32ispunct, modules/c32isspace, modules/c32isupper:
* modules/c32isxdigit, modules/c32snrtombs, modules/c32srtombs:
* modules/exclude, modules/filevercmp, modules/fma, modules/fmaf:
* modules/fmal, modules/fstat, modules/i-ring, modules/ino-map:
* modules/intprops-tests, modules/libgmp-tests:
* modules/limits-h-tests, modules/locale-tests, modules/malloca:
* modules/mbrtoc32, modules/mbrtowc, modules/mbsinit:
* modules/mbsnrtoc32s, modules/mbsrtoc32s, modules/nanosleep:
* modules/parse-datetime, modules/pipe2, modules/pthread-h-tests:
* modules/rawmemchr, modules/relocatable-prog-wrapper:
* modules/round-tests, modules/roundf-tests, modules/sleep:
* modules/stat, modules/stdalign-tests, modules/stdckdint-tests:
* modules/stddef-tests, modules/stdio-tests, modules/stdlib-tests:
* modules/strerror, modules/string-tests, modules/strtoimax:
* modules/strtoumax, modules/sys_stat-tests, modules/time-tests:
* modules/uchar-tests, modules/unistd-tests:
* modules/unistdio/u16-u16-vasnprintf:
* modules/unistdio/u16-vasnprintf:
* modules/unistdio/u32-u32-vasnprintf:
* modules/unistdio/u32-vasnprintf:
* modules/unistdio/u8-u8-vasnprintf:
* modules/unistdio/u8-vasnprintf, modules/unistdio/ulc-vasnprintf:
* modules/utimecmp, modules/vasnprintf, modules/wchar-tests:
Depend on assert-h, not verify.
2022-09-13 17:52:21 -05:00
Bruno Haible
7563be91dc
parse-datetime: Fix comment.
...
* modules/parse-datetime (Makefile.am): Fix comment.
2021-02-20 14:13:36 +01:00
Bruno Haible
59bee807d9
parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
...
* lib/parse-datetime.y: Include idx.h.
(textint): Mark digits as nonnegative.
(parser_control): Mark dates_seen, days_seen, local_zones_seen,
dsts_seen, times_seen, zones_seen as nonnegative.
(lookup_word): Mark wordlen as nonnegative.
(yylex): Mark count as nonnegative.
(parse_datetime2): Mark tzsize as nonnegative.
* modules/parse-datetime (Depends-on): Add idx.
2020-12-06 12:31:11 +01:00
Bruno Haible
8002ca7b56
parse-datetime: Make the build rule work with parallel 'make'.
...
Reported by Daiki Ueno <ueno@gnu.org > in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html >.
* modules/parse-datetime (Makefile.am): Use a phony target and the
general idiom for rules that produce multiple files.
2020-09-13 22:03:16 +02:00
Bruno Haible
a4586a7806
Use module 'c99' when needed for declaration-after-statement syntax.
...
* modules/backup-rename (Depends-on): Add c99.
* modules/backupfile (Depends-on): Likewise.
* modules/bitset-tests (Depends-on): Likewise.
* modules/bitsetv (Depends-on): Likewise.
* modules/c-strtod (Depends-on): Likewise.
* modules/c-strtold (Depends-on): Likewise.
* modules/clean-temp (Depends-on): Likewise.
* modules/copy-file (Depends-on): Likewise.
* modules/crypto/hmac-md5-tests (Depends-on): Likewise.
* modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
* modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
* modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
* modules/crypto/md5-buffer (Depends-on): Likewise.
* modules/crypto/md5-tests (Depends-on): Likewise.
* modules/crypto/sha1-buffer (Depends-on): Likewise.
* modules/crypto/sha1-tests (Depends-on): Likewise.
* modules/crypto/sha256-buffer (Depends-on): Likewise.
* modules/crypto/sha256-tests (Depends-on): Likewise.
* modules/crypto/sha512-buffer (Depends-on): Likewise.
* modules/crypto/sha512-tests (Depends-on): Likewise.
* modules/diffseq (Depends-on): Likewise.
* modules/fatal-signal (Depends-on): Likewise.
* modules/fchmodat (Depends-on): Likewise.
* modules/fstrcmp (Depends-on): Likewise.
* modules/fsusage (Depends-on): Likewise.
* modules/fts (Depends-on): Likewise.
* modules/fts-tests (Depends-on): Likewise.
* modules/getumask (Depends-on): Likewise.
* modules/git-merge-changelog (Depends-on): Likewise.
* modules/hash-map (Depends-on): Likewise.
* modules/hash-set (Depends-on): Likewise.
* modules/lchmod (Depends-on): Likewise.
* modules/libgmp-tests (Depends-on): Likewise.
* modules/libtextstyle-optional-tests (Depends-on): Likewise.
* modules/linkedhash-map (Depends-on): Likewise.
* modules/linkedhash-set (Depends-on): Likewise.
* modules/long-options (Depends-on): Likewise.
* modules/mbrtoc32 (Depends-on): Likewise.
* modules/memchr2-tests (Depends-on): Likewise.
* modules/memmem-tests (Depends-on): Likewise.
* modules/memrchr-tests (Depends-on): Likewise.
* modules/mktime-internal (Depends-on): Likewise.
* modules/nstrftime (Depends-on): Likewise.
* modules/opendirat (Depends-on): Likewise.
* modules/parse-datetime (Depends-on): Likewise.
* modules/quotearg-simple-tests (Depends-on): Likewise.
* modules/same (Depends-on): Likewise.
* modules/supersede (Depends-on): Likewise.
* modules/supersede-tests (Depends-on): Likewise.
* modules/time_rz (Depends-on): Likewise.
* modules/unistr/u16-chr-tests (Depends-on): Likewise.
* modules/unistr/u32-chr-tests (Depends-on): Likewise.
* modules/unistr/u8-chr-tests (Depends-on): Likewise.
* modules/xalloc (Depends-on): Likewise.
* modules/xnanosleep (Depends-on): Likewise.
2020-09-05 18:35:24 +02:00
Bruno Haible
c6e65c2e9f
parse-datetime: Fix wrong #line statements.
...
* modules/parse-datetime (Makefile.am): Correct #line statements also in
parse-datetime-gen.h.
2020-08-01 16:02:16 +02:00
Bruno Haible
b4953c2474
parse-datetime: Fix compilation error with bison 3.7.
...
* modules/parse-datetime (Makefile.am): Create a generated header file
parse-datetime-gen.h in the source directory. Correct #include and
2020-07-29 18:18:18 +02:00
Bruno Haible
050f213848
parse-datetime: Fix a build failure with an older bison version.
...
* modules/parse-datetime (Makefile.am): Don't do the post-processing of
parse-datetime.tab.c if a suitable version of bison was not found.
2020-05-01 18:20:56 +02:00
Bruno Haible
6c71b2c51b
bison: New module.
...
* m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
m4/parse-datetime.m4.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
* modules/bison: New file.
* modules/parse-datetime (Files): Remove m4/bison.m4.
(Depends-on): Add bison.
2020-05-01 18:20:50 +02:00
Bruno Haible
3e75e00c40
parse-datetime: Avoid warnings from bison versions >= 3.3.
...
Reported by Bernhard Voelker <mail@bernhard-voelker.de >.
* modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
2019-07-20 00:51:26 +02:00
Bruno Haible
56d28ccbbc
parse-datetime: Require Bison 2.4 or newer.
...
* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
Code taken from gettext's intl.m4.
* modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
of YACC.
2019-07-20 00:25:01 +02:00
Paul Eggert
4499147b96
parse-datetime: fix dependency
...
* modules/parse-datetime (Depends-on): Depend
on nstrftime, not strftime.
2017-09-25 18:28:31 -07:00
Paul Eggert
30784c4710
parse-datetime: overflow and debug cleanups
...
This long patch was triggered by this bug report from Ruediger Meier:
http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00028.html
I fixed the bug he noted, then found some others nearby, and then
still others. Oh my goodness, there were a lot of bugs. I cleaned
up some of the code to follow GNU standards while I was at it.
* lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
use c_isdigit.
(EPOCH_YEAR): Remove; unused.
(TM_YEAR_BASE): Now an enum rather than a macro.
(HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
time zone offset, since timezones now are in terms of seconds and
not minutes.
(long_time_t): Remove. All uses replaced by time_t or intmax_t as
appropriate. Verify that intmax_t is wide enough.
(time_overflow, time_zone_str): New functions, used to deal
more reliably with overflow.
(dbg_printf): Add printf attribute, to help catch integer width errors.
(textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
(%union, to_hour, yylex, parse_datetime2):
Use intmax_t instead of long int and/or long_time_t.
All uses changed.
(DBGBUFSIZE): Move earlier.
(relative_time, set_hhmmss, parser_control):
Just use int for nanoseconds and for time zones; that’s wide enough.
(parser_control): Use bool for members like year_seen that can
be booleans instead of counters. All uses changed.
Remove debug_default_input_timezone; no longer needed.
All uses removed.
(apply_relative_time): Return a bool overflow flag.
All uses changed to check for overflow.
(apply_relative_time, zone, date, relunit, relunit_snumber)
(signed_seconds, unsigned_seconds, yylex, parse_datetime2):
Check for integer overflow portably.
(str_days): Use just int for N, as it’s wide enough.
Prefer 2D char arrays to arrays of char * when it looks like
2D is a win on typical platforms.
Prefer snprintf to strncpy/strncat, for simplicity;
all buffers are smaller than INT_MAX so this is safe.
(TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
(debug_print_current_time): Don’t assume tv_nsec is of type long,
as this is not true on x32. Output "." before any nanoseconds.
(debug_print_current_time, parse_datetime2):
Output local zones using a more-consistent format.
(debug_print_current_time, date, parse_datetime2):
(main) [TEST]:
Don’t assume time_t is the same width as long.
(print_rel_part): New function, replacing ...
(PRINT_REL_PART): ... this macro, which was removed. All uses changed.
(debug_print_relative_time): Use bool for boolean.
(local_zone): dsts_seen now counts only tDST instances.
(date): Fix printf of size_t to use %z. Do not assume numeric
tokens have negative values merely because the context suggests
a syntax with "-" separating tokens.
(time_zone_hhmm): Return bool success indicator, which checks for
overflow. Store result into PC->time_zone instead. All callers
changed.
(tm_year_str): New function. Return a bool success indicator and
store the result into a buffer. All callers changed. Output the
numerically correct string even if adding 1900 to the year would
overflow.
(to_tm_year): New function, replacing the old to_year. All
callers changed.
(tm_diff): Sync with glibc.
(lookup_word): Use to_uchar instead of doing it by hand.
(TZBUFSIZE): Now local to the only function that needs it.
(debug_strfdatetime): Simplify now that time zones are int seconds.
(debug_strfdate): Work even if tm_year + 1900 would overflow.
(get_effective_timezone): Remove. All uses removed.
(parse_datetime2): Use fprintf in pieces instead of snprintfing
to a fixed-size buffer. Don’t assume that gmtime succeeds iff
localtime succeeds. Use tm_gmtoff if available. Simplify how
‘goto fail;’ works in conjunction with the ‘ok’ flag.
* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
* modules/parse-datetime (Depends-on): Add inttypes.
2017-04-22 02:13:15 -07:00
Pádraig Brady
405cd67538
parse-datetime: remove extraneous generated source file
...
* modules/parse-datetime: Remove the tmp generated source.
2017-03-08 20:15:15 -08:00
Paul Eggert
4e6e16b3f4
parse-datetime: handle timezones reentrantly
...
This API change was prompted by a report by Pádraig Brady in:
https://bug.debian.org/851934#10
To help fix the bug, make parse_datetime2 more reentrant.
* NEWS: Document this incompatible change.
* lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
Add two arguments, the timezone and the timezone name.
All callers changed. If TZ="..." is specified, use it for
calculating defaults.
* lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
this code should be usable in a library.
(mktime_ok, get_effective_timezone):
Accept timezone arg too. All callers changed.
(get_tz): Remove.
(get_effective_timezone): Check for failures.
* modules/parse-datetime: Add time_r, time_rz. Remove xalloc.
2017-01-20 18:04:56 -08:00
Pádraig Brady
440ea67aa5
parse-datetime: fix dependence on AC_PROG_SED
...
* modules/parse-datetime: Use `sed` directly like all other modules.
Reported by J William Piggott
2017-01-17 09:09:41 +00:00
Pádraig Brady
73ecb533f8
parse-datetime: fix generated paths for coverage files
...
* modules/parse-datetime: Adjust the paths for parse-datetime.y
within parse-datetime.c, so that gcc generates appropriate .gcno
files, allowing lcov to proceed without error. Previously it
would error trying to find "lib/lib/parse-datetime.y".
2017-01-05 14:46:50 +00:00
Assaf Gordon
5d36768ce2
parse-datetime: improve debug implementation
...
Follow-up to commit 12ad79069 ("add optional debug printing").
Improve parse-datetime's debug implementation: remove macros,
replace global debug flag variable with a function parameter,
use nstrftime for formatting.
See: https://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00021.html
* lib/parse-datetime.h: (parse_datetime_debug): Remove global extern
declaration.
(parse_datetime2): New function, accepts 'flags' parameter, supporting
debug flag. Existing interface 'parse_datetime' left unmodified.
* lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
(struct parser_control): add 'parse_datetime_debug' member variable.
(parse_datetime): Call new function 'parse_datetime2' without debug.
(parse_datetime2): Adapted from previous 'parse_datetime', initialize
pc.parse_datetime_debug variable as needed.
(to_year): Accept new flags parameter, instead of using global variable.
(debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
use struct 'debug' variable instead of global variable.
(DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
correspnding functions directly instead of using macros.
* modules/parse-datetime: Add gnulib's strftime module.
2016-08-19 21:43:13 +01:00
Assaf Gordon
12ad79069d
parse-datetime: add optional debug printing
...
Print parsing information, warnings, and errors to stderr.
* lib/parse-datetime.h (parse_datetimte_debug): New global variable.
* lib/parse-datetime.y:
(DEBUG_*): Macros calling debug functions if debugging is enabled.
(PROGRESS*): Same as DEBUG, for progress reporting.
(dbg_printf): Print message to stderr, with 'date' prefix.
(struct parser_control): Add 'debug_*_seen' variables.
(str_days): Converts day ordinal/number to string (e.g. 'last wed').
(debug_print_current_time, debug_print_relateive_time): Prints the
current/relative date/time value of parser_control.
(YACC parser syntax): Print parsed parts with DEBUG_* macros.
(to_year): Warn about 2-digit year parsing.
(yylex): Warn about unrecognized words.
(get_effective_timezone): Returns current timezone in minutes.
(debug_strf{time,date,datetime}): Convert 'struct tm' to string as
clearly and unambigiously as possible.
(debug_mktime_not_ok): Print detailed information about failed
date/time values.
(parse_datetime): Add DEBUG messages for failures, warnings. Add
PROGRESS messages for status messages.
* modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
2016-08-09 17:13:11 +01:00
Giuseppe Scrivano
2cda65839a
parse-datetime: relax license to LGPLv2+, for OSTree
...
* modules/parse-datetime (License): Change from GPL to LGPLv2+.
2015-11-25 00:01:02 -08:00
Eric Blake
2bb63bfb25
parse-datetime: better name than get_date
...
* NEWS: Reword the deprecation notice.
* modules/get_date: Rename to modules/parse-datetime.
* modules/get_date-tests: Rename to modules/parse-datetime-tests.
* m4/get_date.m4: Rename to m4/parse-datetime.m4.
* lib/get_date.y: Rename to lib/parse-datetime.y.
* tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
* doc/get_date.texi: Rename to doc/parse-datetime.texi.
* doc/getdate.texi: Provide fallback wrapper.
* lib/getdate.h: Move guts, and wrap...
* lib/parse-datetime.h: ...new file.
* lib/parse-datetime.y (get_date): Rename...
(parse_datetime): ...to this.
* m4/parse-datetime.m4 (gl_GET_DATE): Rename...
(gl_PARSE_DATETIME): ...to this.
* doc/posix-functions/getdate.texi (get_date): Provide fallback
documentation.
* modules/getdate (Files): Provide fallback docs and header.
(Notice, Depends-on): Update references.
* tests/test-parse-datetime.c: Likewise.
* DEPENDENCIES: Likewise.
* MODULES.html.sh (Date and time <time.h>): Likewise.
* doc/parse-datetime.texi (Date input formats)
(Authors of parse_datetime): Likewise.
* modules/parse-datetime (Files, configure.ac, Makefile.am)
(Include): Likewise.
* modules/parse-datetime-tests (Files, Makefile.am): Likewise.
* gnulib-tool: Likewise.
* m4/bison.m4 (gl_BISON): Likewise.
Suggested by Bruno Haible.
Signed-off-by: Eric Blake <eblake@redhat.com >
2010-10-05 12:05:18 -06:00