1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-09 21:53:55 +02:00
Commit Graph

94 Commits

Author SHA1 Message Date
Paul Eggert
15954c3753 (tzname): Don't declare if it is already #defined. 2006-01-04 18:57:24 +00:00
Jim Meyering
0277ce3913 [FPRINTFTIME] (fprintftime): Provide a new interface:
size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
		    int utc, int nanoseconds);
Background:
date should not have to allocate a megabyte of virtual memory to
handle a format argument like +%1048575T.  When implemented with
strftime, it must allocate such a buffer, use strftime to fill it
in, print it, then free it.

With fprintftime, it simply prints everything and exits.
With no need for memory allocation, that's one fewer way to fail.
2005-09-16 07:31:29 +00:00
Paul Eggert
a08b44ea30 (my_strftime): Rewrite the previous change slightly,
to make it a bit faster and (I hope) clearer.
2005-09-15 18:47:56 +00:00
Jim Meyering
cc4800dd1b (my_strftime): Be sure to use L_('x') for literals. 2005-09-14 16:10:38 +00:00
Jim Meyering
ad98202690 (my_strftime): Parse the colons of %:::z *after* the
optional field width, not before, so we accept %9:z, not %:9z.
2005-09-14 10:02:54 +00:00
Paul Eggert
33b49b7cac (my_strftime): Fix typo in octal number introduced in last change. 2005-09-14 06:58:08 +00:00
Paul Eggert
7846768c6c (my_strftime): Add support for %:z, %::z, %:::z.
Fix bug in formats like %2N.
2005-09-13 22:08:18 +00:00
Jim Meyering
cb3da21f16 Make the %s format (seconds since the epoch) work for a negative
number and when used with a zero-padded field width, e.g. %015s.

(my_strftime): Move the `do_number_sign_and_padding'
label so that it precedes the code to set `digits'.  Otherwise,
%0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
print `00-22'.  Now, it prints `-0022', as it should.
2005-08-17 19:55:52 +00:00
Paul Eggert
d96382a5e9 (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.
2005-07-04 05:06:44 +00:00
Jim Meyering
116e6fb244 Update FSF postal mail address. 2005-05-14 07:58:06 +00:00
Paul Eggert
5bb064a261 Propagate intprops.h comment fixes to mktime.c and strftime.c. 2005-03-26 18:08:24 +00:00
Paul Eggert
18445fac86 (my_strftime): If the underlying strftime returns 0
(which shouldn't happen), generate nothing instead of returning 0
immediately, so that nstrftime (NULL, ...) doesn't return 0.
2005-03-19 05:33:01 +00:00
Paul Eggert
23f7577282 (my_strftime): Prepend space to format so that we can
reliably distinguish strftime failure from empty output on POSIX
hosts.
2005-03-16 01:01:23 +00:00
Paul Eggert
2f82566ff2 * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
&& HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[].
2005-03-14 23:23:25 +00:00
Paul Eggert
cb675ad062 (TYPE_SIGNED): Remove.
(INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
2005-03-09 19:23:59 +00:00
Paul Eggert
3477139eaa Include <stdbool.h>. Use bool where appropriate, instead of int.
(my_strftime): Do not mishandle years close to INT_MAX, by doing
the right thing even if adding 1900 would overflow.  Similarly
for tm_mon + 1 and tm_yday + 1.
Make %Y always equivalent to %C%y, and similarly for %G and %g.
(DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
(DO_SIGNED_NUMBER): New macro.
(my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
2005-02-24 00:26:55 +00:00
Paul Eggert
9d8ce0f399 Sync from gnulib. 2004-11-11 06:07:57 +00:00
Paul Eggert
443e4a9026 Sync from gnulib. 2004-11-09 20:54:43 +00:00
Jim Meyering
49061e6bde (tm_diff) [! HAVE_TM_GMTOFF]: Fix arg typo in previous patch. 2003-09-30 06:44:32 +00:00
Jim Meyering
f4bf3aa571 (my_strftime_gmtime_r): Remove; all uses changed to __gmtime_r.
(my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
(__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
Include <time_r.h>.
2003-09-13 17:58:57 +00:00
Jim Meyering
c7eab83c3e Switch from LGPL to GPL. 2003-07-10 07:06:25 +00:00
Jim Meyering
44c64b7810 [!_LIBC]: Ensure that the required autoconf test has been run. 2003-06-08 18:03:01 +00:00
Jim Meyering
45840e899f Clean up, as part of merge with emacs version of strftime.c.
(my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
Remove function, now that we can rely on a working tzset function.
Ensure that the required autoconf test has been run.
2003-06-08 17:41:07 +00:00
Jim Meyering
efc545bd54 Make the %r format directive honor any locale setting.
(my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]:
Use underlying_strftime for %r.
2003-05-29 12:09:06 +00:00
Jim Meyering
a12ea0b255 (my_strftime): Let the `-' (no-pad) flag affect
the space-padded-by-default conversion specifiers, %e, %k, %l.
2003-05-12 08:19:05 +00:00
Jim Meyering
7e4874c0d8 Remove (or replace-with-TAB(s) to retain alignment)
each sequence of spaces before a TAB character.
2003-04-15 06:22:33 +00:00
Jim Meyering
06fc494da3 (widen): Cast alloca return value to proper type. 2003-03-22 19:42:42 +00:00
Jim Meyering
01dfd68984 From GNU libc.
(my_strftime): Handle very large width
specifications for numeric values correctly.  Improve checks for
overflow.
2003-01-20 15:04:51 +00:00
Jim Meyering
56b3c75e63 (widen) [COMPILE_WIDE]: Merge nearly-identical definitions.
(nl_get_alt_digit) [! defined my_strftime]: Define.
(my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
_nl_get_alt_digit and _nl_get_walt_digit.
2003-01-19 13:01:35 +00:00
Jim Meyering
7c9bd0e59c (my_strftime): Merge in locale-related changes from libc.
These changes have no effect outside of _LIBC.
2003-01-19 11:51:32 +00:00
Jim Meyering
26061de96f (my_strftime_localtime_r): Include this function
definition in the `#if ! HAVE_TM_GMTOFF' block.
2001-12-09 21:02:43 +00:00
Jim Meyering
8b7078eada (my_strftime):
Define to nstrftime if emacs, but only if my_strftime is not defined.
(extra_args, extra_args_spec, extra_args_spec_iso): Rename from
ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
Add one more extra argument: a nanoseconds value.
All uses changed.
(ns): New macro.
(my_strftime function): Add %N format.
(emacs_strftimeu): Renamed from emacs_strftime,
with extra ut argument.
2001-05-20 20:41:20 +00:00
Jim Meyering
787a2cf49f update comments from libc 2001-02-17 16:50:27 +00:00
Jim Meyering
89c7458b53 Sync with glibc time/strftime.c 1.81. 2001-01-04 10:19:43 +00:00
Jim Meyering
d5b2ff2b99 (my_strftime): Do not invoke mbrlen with a
size of (size_t) -1; it's not portable.
2000-11-23 07:24:51 +00:00
Jim Meyering
49ac3c60d0 Update from libc. 2000-10-26 08:08:06 +00:00
Jim Meyering
048aa98ba8 Merge in changes from GNU libc. 2000-08-30 07:58:01 +00:00
Jim Meyering
d2caf6a98c (my_strftime) [strftime]: Declare strftime here, since the definition
of it to rpl_strftime also defined-away the system's declaration.
2000-04-17 11:39:26 +00:00
Jim Meyering
dda6851673 (my_strftime): Make sure we call the system
strftime, not ourselves, when invoking the underlying strftime.
2000-04-03 07:09:38 +00:00
Jim Meyering
f8c6ea241d Sync with the GNU C Library. 2000-01-06 21:31:48 +00:00
Jim Meyering
05fcf7df27 (my_strftime): Some old compilers object to
'\a', so don't bother optimizing for it.
2000-01-02 07:09:54 +00:00
Jim Meyering
44b1bde148 Remove useless parens in #if directive 1999-09-19 08:09:50 +00:00
Jim Meyering
2af4373a90 Update from master source in libc, removing %f. 1999-04-06 14:22:06 +00:00
Jim Meyering
7d60769bea ansideclify 1998-12-07 03:12:10 +00:00
Jim Meyering
4fb556ee0e Don't invoke localtime_r or gmtime_r unless it's the GNU C
library's localtime_r and gmtime_r; there are too many buggy
	implementations of localtime_r and gmtime_r out there, and
	it's not worth keeping track of all the different bugs.

	* strftime.c (__EXTENSIONS__): Remove.
	(my_strftime_gmtime_r): Renamed from gmtime_r; all uses changed.
	(my_strftime_localtime_r): Renamed from localtime_r; all uses changed.
	Base them on localtime/gmtime if not _LIBC.
1998-10-18 14:09:48 +00:00
Jim Meyering
a71cb7cad1 Declare localtime_r if necessary. 1998-10-18 01:11:35 +00:00
Jim Meyering
2e29b32116 Some systems require <unistd.h> to be included before <time.h> for
localtime_r to be declared properly.
1998-10-17 12:39:30 +00:00
Jim Meyering
fbb1fb519f (my_strftime): Update from FSF. 1998-09-27 12:45:33 +00:00
Jim Meyering
a155c3d684 tweak from FSF 1998-04-28 12:19:53 +00:00
Jim Meyering
9ed80c0140 (_REENTRANT): #define, as some hosts need this to declare localtime_r properly.
From Paul Eggert.
1997-11-18 03:32:00 +00:00