Paul Eggert
a89e344969
fprintftime, strftime: use timezone_t args
...
* NEWS: Document the change.
* lib/fprintftime.h (fprintftime):
* lib/strftime.c (extra_args) [my_strftime]:
* lib/strftime.h (nstrftime):
Time zone arg is now of type timezone_t, not int.
* lib/strftime.c (mktime_z) [_LIBC]: New macro.
(__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
(my_strftime) [emacs && !my_strftime]:
(emacs_strftimeu) [emacs && !FPRINTFTIME]:
Remove; Emacs doesn't need this any more.
(HAVE_TZSET) [my_strftime]: Unset, since we no longer want
fprintftime and nstrftime to call tzset.
(ut) [!my_strftime]: Remove, replacing with ...
(tz) [!my_stftime]: ... this new macro. All uses changed.
(strftime_case_): Use localtime_rz and mktime_z instead
of localtime_r and mktime.
* modules/fprintftime (Depends-on): Add time_rz.
* modules/strftime (Depends-on): Add time_rz. Remove time_r.
* tests/test-strftime.c (main): Adjust to new nstrftime API.
2015-07-23 18:31:07 -07:00
Bruno Haible
fcb55c13dc
strftime: Move AC_LIBOBJ invocations to module description.
...
* m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
* modules/strftime (Makefile.am): Augment lib_SOURCES.
2011-06-16 00:07:40 +02:00
Paul Eggert
1c4cf2052c
strftime: remove dependencies on multibyte modules
...
strftime depended on mbrlen, mbsinit, and wchar, but these modules
are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
only if __osf__ is defined, and I suspect OSF doesn't need these
other modules. If my guess is wrong, we'll need to come up with a
variant of strftime that doesn't need the multibyte modules.
I discovered this problem when attempting modify Emacs to use the
strftime module. With the previous gnulib, this caused Emacs to
need 31 new files, ranging from lib/config.charset to
m4/wint_t.m4. This was overkill and I expect would be offputting
to the Emacs maintainers. After this change, only 6 new files are
needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
stdbool.m4, and tm_gmtoff.m4.
* lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
Suggested by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html >.
* m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
and do not check for wchar.h.
* modules/strftime (Files): Remove m4/mbstate_t.m4.
(Depends-on): Remove mbrlen, mbsinit, wchar.
2011-01-18 10:26:59 -08:00
Jim Meyering
50ad42330b
strftime: avoid compilation failure on Solaris 2.6
...
* modules/strftime (Depends-on): Add mbrlen and mbsinit.
* lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
Don't #define mbrlen or mbsinit, since now they're guaranteed to
be available. Reported by Tom G. Christensen. Details in
<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180 >.
2009-01-02 09:59:17 +01:00
Bruno Haible
9907320a2a
Ensure mbstate_t is defined on HP-UX 11.11.
2008-12-20 13:43:27 +01:00
Eric Blake
96f7b7d91a
* modules/fnmatch (Depends-on): Depend on wchar.
...
* lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
* m4/fnmatch.m4: Likewise.
* modules/mbchar (Makefile.am): Assume <wchar.h>.
* m4/mbchar.m4: Likewise.
* modules/mbswidth (Depends-on): Depend on wchar.
* lib/mbswidth.c: Assume <wchar.h>.
* m4/mbswidth.m4: Likewise.
* modules/quotearg (Depends-on): Depend on wchar.
* lib/quotearg.c: Assume <wchar.h>.
* m4/quotearg.m4: Likewise.
* modules/regex (Depends-on): Depend on wchar.
* lib/regex_internal.h: Assume <wchar.h>.
* m4/regex.m4: Likewise.
* modules/stdint (Depends-on): Depend on wchar.
* lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
* m4/stdint.m4: Likewise.
* tests/test-stdint.c [HAVE_WINT_T]: Likewise.
* modules/strftime (Depends-on): Depend on wchar.
* lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
* modules/strtol (Depends-on): Depend on wchar.
* lib/strtol.c: Assume <wchar.h>.
* modules/wcwidth (Depends-on): Depend on wchar.
* lib/wcwidth.h: Assume <wchar.h>.
* m4/wcwidth.m4: Likewise.
2007-01-16 16:31:23 +00:00
Bruno Haible
5eeec029e8
gnulib-tool now synthesizes the EXTRA_DIST line.
2006-10-13 12:40:22 +00:00
Bruno Haible
e8684643a2
Distribute all lib/* source files through EXTRA_DIST.
2006-10-12 18:52:30 +00:00
Paul Eggert
901bc47c9a
Avoid the need for AC_LIBSOURCES in m4 macros.
...
* modules/acl (EXTRA_DIST): Add acl.h.
* modules/argmatch (Files): Add m4/argmatch.m4.
(configure.ac): Add gl_ARGMATCH.
(EXTRA_DIST): Renamed from lib_SOURCES, for
consistency with the other modules. Remove argmatch.c.
* modules/backupfile (EXTRA_DIST): Add backupfile.h.
* modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
* modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
* modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
* modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
* modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
* modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
* modules/cloexec (EXTRA_DIST): Add cloexec.h.
* modules/close-stream (EXTRA_DIST): Add close-stream.h.
* modules/closeout (EXTRA_DIST): Add closeout.h.
* modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
* modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
* modules/dirfd (EXTRA_DIST): Add dirfd.h.
* modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES. Add
dirname.h; remove basename.c and stripslash.c.
* modules/exclude (EXTRA_DIST): Add exclude.h.
* modules/exitfail (EXTRA_DIST): Add exitfail.h.
* modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
* modules/file-type (EXTRA_DIST): Add file-type.h.
* modules/filemode (EXTRA_DIST): Add filemode.h.
* modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
* modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
* modules/fpending (EXTRA_DIST): Add __fpending.h.
* modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
* modules/fsusage (EXTRA_DIST): Add fsusage.h.
* modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
* modules/getcwd (EXTRA_DIST): Add getcwd.h.
* modules/getdate (EXTRA_DIST): Add getdate.c.
* modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
* modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
* modules/getpass (EXTRA_DIST): Add getpass.h.
* modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
* modules/group-member (EXTRA_DIST): Add group-member.h.
* modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
* modules/hash (EXTRA_DIST): Add hash.h.
* modules/human (EXTRA_DIST): Add human.h.
* modules/inttypes (EXTRA_DIST): Add inttypes.h.
* modules/lchmod (EXTRA_DIST): Add lchmod.h.
* modules/lchown (EXTRA_DIST): Add lchown.h.
* modules/long-options (EXTRA_DIST): Add long-options.h.
* modules/lstat (EXTRA_DIST): Add lstat.h.
* modules/md5 (EXTRA_DIST): Add memcasecmp.h.
* modules/memcoll (EXTRA_DIST): Add memcoll.h.
* modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
* modules/memrchr (EXTRA_DIST): Add memrchr.h.
* modules/memxor (EXTRA_DIST): Add memxor.h.
* modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
* modules/mkdir-p (EXTRA_DIST): Add modechange.h.
* modules/mountlist (EXTRA_DIST): Add mountlist.h.
* modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
* modules/pathmax (EXTRA_DIST): Add pathmax.h.
* modules/physmem (EXTRA_DIST): Add physmem.h.
* modules/posixtm (EXTRA_DIST): Add posixtm.h.
* modules/posixver (EXTRA_DIST): Add posixver.h.
* modules/quote (EXTRA_DIST): Add quote.h.
* modules/quotearg (EXTRA_DIST): Add quotearg.h.
* modules/readtokens (EXTRA_DIST): Add readtokens.h.
* modules/readutmp (EXTRA_DIST): Add readutmp.h.
* modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c regex_internal.h regexec.c.
* modules/safe-read (EXTRA_DIST): Add safe-read.h.
* modules/safe-write (EXTRA_DIST): Add safe-write.h.
* modules/same (EXTRA_DIST): Add same.h.
* modules/same-inode (EXTRA_DIST): Add same-inode.h.
* modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
* modules/savedir (EXTRA_DIST): Add savedir.h.
* modules/sha1 (EXTRA_DIST): Add sha1.h.
* modules/sig2str (EXTRA_DIST): Add sig2str.h.
* modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
* modules/stat-time (EXTRA_DIST): Add stat-time.h.
* modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
* modules/strdup (EXTRA_DIST): Add strdup.h.
* modules/strftime (EXTRA_DIST): Add strftime.h.
* modules/strndup (EXTRA_DIST): Add strndup.h.
* modules/strnlen (EXTRA_DIST): Add strnlen.h.
* modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
* modules/time_r (EXTRA_DIST): Add time_r.h.
* modules/timespec (EXTRA_DIST): Add timespec.h.
* modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
* modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
* modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
* modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
* modules/userspec (EXTRA_DIST): Add userspec.h.
* modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
* modules/utimens (EXTRA_DIST): Add utimens.h.
* modules/xalloc (EXTRA_DIST): Add xalloc.h.
* modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
* modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
* modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
* modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
* modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
* modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
* modules/yesno (EXTRA_DIST): Add yesno.h.
+
* m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
* m4/dev-ino.m4, same-inode.m4: Remove.
+
* m4/_inttypes_h.m4 (gl_INTTYPES_H):
* m4/acl.m4 (AC_FUNC_ACL):
* m4/backupfile.m4 (gl_BACKUPFILE):
* m4/c-strtod.m4 (gl_C99_STRTOLD):
* m4/canon-host.m4 (gl_CANON_HOST):
* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
* m4/chdir-safer.m4 (gl_CHDIR_SAFER):
* m4/cloexec.m4 (gl_CLOEXEC):
* m4/close-stream.m4 (gl_CLOSE_STREAM):
* m4/closeout.m4 (gl_CLOSEOUT):
* m4/dirfd.m4 (gl_FUNC_DIRFD):
* m4/dirname.m4 (gl_DIRNAME):
* m4/exclude.m4 (gl_EXCLUDE):
* m4/exitfail.m4 (gl_EXITFAIL):
* m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
* m4/file-type.m4 (gl_FILE_TYPE):
* m4/filemode.m4 (gl_FILEMODE):
* m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
* m4/fpending.m4 (gl_FUNC_FPENDING):
* m4/fprintftime.m4 (gl_FPRINTFTIME):
* m4/fts.m4 (gl_FUNC_FTS):
* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
* m4/getdate.m4 (gl_GETDATE):
* m4/gethrxtime.m4 (gl_GETHRXTIME):
* m4/getpagesize.m4 (gl_GETPAGESIZE):
* m4/getpass.m4 (gl_FUNC_GETPASS):
* m4/gettime.m4 (gl_GETTIME):
* m4/getugroups.m4 (gl_GETUGROUPS):
* m4/glob.m4 (gl_GLOB_SUBSTITUTE):
* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
* m4/hard-locale.m4 (gl_HARD_LOCALE):
* m4/hash.m4 (gl_HASH):
* m4/idcache.m4 (gl_IDCACHE):
* m4/lchmod.m4 (gl_FUNC_LCHMOD):
* m4/lchown.m4 (gl_FUNC_LCHOWN):
* m4/long-options.m4 (gl_LONG_OPTIONS):
* m4/lstat.m4 (gl_FUNC_LSTAT):
* m4/md5.m4 (gl_MD5):
* m4/memcasecmp.m4 (gl_MEMCASECMP):
* m4/memcoll.m4 (gl_MEMCOLL):
* m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
* m4/memrchr.m4 (gl_FUNC_MEMRCHR):
* m4/memxor.m4 (gl_MEMXOR):
* m4/mkancesdirs.m4 (gl_MKANCESDIRS):
* m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
* m4/modechange.m4 (gl_MODECHANGE):
* m4/mountlist.m4 (gl_MOUNTLIST):
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
* m4/openat.m4 (gl_FUNC_OPENAT):
* m4/pathmax.m4 (gl_PATHMAX):
* m4/physmem.m4 (gl_PHYSMEM):
* m4/posixtm.m4 (gl_POSIXTM):
* m4/posixver.m4 (gl_POSIXVER):
* m4/quote.m4 (gl_QUOTE):
* m4/quotearg.m4 (gl_QUOTEARG):
* m4/readtokens.m4 (gl_READTOKENS):
* m4/readutmp.m4 (gl_READUTMP):
* m4/regex.m4 (gl_REGEX):
* m4/safe-read.m4 (gl_SAFE_READ):
* m4/safe-write.m4 (gl_SAFE_WRITE):
* m4/same.m4 (gl_SAME):
* m4/save-cwd.m4 (gl_SAVE_CWD):
* m4/savedir.m4 (gl_SAVEDIR):
* m4/settime.m4 (gl_SETTIME):
* m4/sha1.m4 (gl_SHA1):
* m4/sig2str.m4 (gl_FUNC_SIG2STR):
* m4/stat-macros.m4 (gl_STAT_MACROS):
* m4/stat-time.m4 (gl_STAT_TIME):
* m4/stdio-safer.m4 (gl_FOPEN_SAFER):
* m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
* m4/strdup.m4 (gl_FUNC_STRDUP):
* m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
* m4/strndup.m4 (gl_FUNC_STRNDUP):
* m4/strnlen.m4 (gl_FUNC_STRNLEN):
* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
* m4/time_r.m4 (gl_TIME_R):
* m4/timespec.m4 (gl_TIMESPEC):
* m4/unistd-safer.m4 (gl_UNISTD_SAFER):
* m4/unlinkdir.m4 (gl_UNLINKDIR):
* m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
* m4/userspec.m4 (gl_USERSPEC):
* m4/utimecmp.m4 (gl_UTIMECMP):
* m4/utimens.m4 (gl_UTIMENS):
* m4/xalloc.m4 (gl_XALLOC):
* m4/xgetcwd.m4 (gl_XGETCWD):
* m4/xnanosleep.m4 (gl_XNANOSLEEP):
* m4/xreadlink.m4 (gl_XREADLINK):
* m4/xstrtod.m4 (gl_XSTRTOD):
* m2/yesno.m4 (gl_YESNO):
Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
to get the necessary .h files and whatnot.
2006-08-21 21:46:31 +00:00
Jim Meyering
46ff8971b2
(Maintainer): Add my name, since with the
...
FPRINTFTIME changes strftime.c has forked from glibc.
2006-06-29 21:15:00 +00:00
Paul Eggert
f9914d0bfb
Remove the dependency of the strftime module on the tzset module.
...
* modules/strftime (Depends-on): Remove dependency on tzset.
* lib/strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
Copy the input structure, to work around some of the bug with
Solaris 2.5.1 and Solaris 2.6. If you still care about these old
Solaris releases, you should also use the tzset module, but we won't
require it as a dependency any more since we don't want LGPLed code
to depend on GPLed code.
* m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require gl_FUNC_TZSET_CLOBBER.
2005-07-04 04:40:46 +00:00
Paul Eggert
d3e8c58c07
(Depends-on): Add stdbool.
2005-05-06 17:22:45 +00:00
Paul Eggert
3286588847
Remove lib_SOURCES line from Makefile.am section of modules where this
...
is now done automatically by the corresponding Autoconf macro.
2005-03-21 22:07:25 +00:00
Bruno Haible
5143f4e91f
Add a license tag to every module.
2004-09-22 15:11:04 +00:00
Paul Eggert
fa06ed6398
Change include from <time.h> to "strftime.h".
2004-08-06 22:57:01 +00:00
Paul Eggert
62bb0ff2aa
(lib_SOURCES): Add strftime.h.
2004-08-06 22:13:55 +00:00
Paul Eggert
be67264cc3
Add lib/strftime.h.
2004-08-06 22:07:15 +00:00
Jim Meyering
23fe10e274
Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
2004-04-18 18:12:50 +00:00
Paul Eggert
7b224479dc
Add time_r module. Change timegm, mktime, and strftime to use localtime_r
...
and gmtime_r, now supplied by the time_r module. This fixes some timegm
bugs and cleans up mktime and strftime a bit.
2003-09-06 21:34:07 +00:00
Paul Eggert
29ad412dbc
Merge from coreutils.
2003-08-16 05:38:25 +00:00
Bruno Haible
6f99528a90
Add a Maintainer.
2003-01-20 10:02:37 +00:00
Bruno Haible
2e82f91f46
Add module descriptions.
2003-01-13 16:07:17 +00:00
Bruno Haible
5e6853b809
Small fixes.
2002-12-31 13:49:01 +00:00
Bruno Haible
740e9a30ef
Module description.
2002-12-31 13:46:30 +00:00