summaryrefslogtreecommitdiff
path: root/lib/strftime.c
AgeCommit message (Collapse)Author
2005-09-16[FPRINTFTIME] (fprintftime): Provide a new interface:Jim Meyering
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-15(my_strftime): Rewrite the previous change slightly,Paul Eggert
to make it a bit faster and (I hope) clearer.
2005-09-14(my_strftime): Be sure to use L_('x') for literals.Jim Meyering
2005-09-14(my_strftime): Parse the colons of %:::z *after* theJim Meyering
optional field width, not before, so we accept %9:z, not %:9z.
2005-09-14(my_strftime): Fix typo in octal number introduced in last change.Paul Eggert
2005-09-13(my_strftime): Add support for %:z, %::z, %:::z.Paul Eggert
Fix bug in formats like %2N.
2005-08-17Make the %s format (seconds since the epoch) work for a negativeJim Meyering
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-07-04(my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:Paul Eggert
Copy the input structure, to work around some of the bug with Solaris 2.5.1 and Solaris 2.6.
2005-05-14Update FSF postal mail address.Jim Meyering
2005-03-26Propagate intprops.h comment fixes to mktime.c and strftime.c.Paul Eggert
2005-03-19(my_strftime): If the underlying strftime returns 0Paul Eggert
(which shouldn't happen), generate nothing instead of returning 0 immediately, so that nstrftime (NULL, ...) doesn't return 0.
2005-03-16(my_strftime): Prepend space to format so that we canPaul Eggert
reliably distinguish strftime failure from empty output on POSIX hosts.
2005-03-14* strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENTPaul Eggert
&& HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[].
2005-03-09(TYPE_SIGNED): Remove.Paul Eggert
(INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
2005-02-24Include <stdbool.h>. Use bool where appropriate, instead of int.Paul Eggert
(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.
2004-11-11Sync from gnulib.Paul Eggert
2004-11-09Sync from gnulib.Paul Eggert
2003-09-30(tm_diff) [! HAVE_TM_GMTOFF]: Fix arg typo in previous patch.Jim Meyering
2003-09-13(my_strftime_gmtime_r): Remove; all uses changed to __gmtime_r.Jim Meyering
(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-07-10Switch from LGPL to GPL.Jim Meyering
2003-06-08[!_LIBC]: Ensure that the required autoconf test has been run.Jim Meyering
2003-06-08Clean up, as part of merge with emacs version of strftime.c.Jim Meyering
(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-05-29Make the %r format directive honor any locale setting.Jim Meyering
(my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]: Use underlying_strftime for %r.
2003-05-12(my_strftime): Let the `-' (no-pad) flag affectJim Meyering
the space-padded-by-default conversion specifiers, %e, %k, %l.
2003-04-15Remove (or replace-with-TAB(s) to retain alignment)Jim Meyering
each sequence of spaces before a TAB character.
2003-03-22(widen): Cast alloca return value to proper type.Jim Meyering
2003-01-20From GNU libc.Jim Meyering
(my_strftime): Handle very large width specifications for numeric values correctly. Improve checks for overflow.
2003-01-19(widen) [COMPILE_WIDE]: Merge nearly-identical definitions.Jim Meyering
(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(my_strftime): Merge in locale-related changes from libc.Jim Meyering
These changes have no effect outside of _LIBC.
2001-12-09(my_strftime_localtime_r): Include this functionJim Meyering
definition in the `#if ! HAVE_TM_GMTOFF' block.
2001-05-20(my_strftime):Jim Meyering
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-02-17update comments from libcJim Meyering
2001-01-04Sync with glibc time/strftime.c 1.81.Jim Meyering
2000-11-23(my_strftime): Do not invoke mbrlen with aJim Meyering
size of (size_t) -1; it's not portable.
2000-10-26Update from libc.Jim Meyering
2000-08-30Merge in changes from GNU libc.Jim Meyering
2000-04-17(my_strftime) [strftime]: Declare strftime here, since the definitionJim Meyering
of it to rpl_strftime also defined-away the system's declaration.
2000-04-03(my_strftime): Make sure we call the systemJim Meyering
strftime, not ourselves, when invoking the underlying strftime.
2000-01-06Sync with the GNU C Library.Jim Meyering
2000-01-02(my_strftime): Some old compilers object toJim Meyering
'\a', so don't bother optimizing for it.
1999-09-19Remove useless parens in #if directiveJim Meyering
1999-04-06Update from master source in libc, removing %f.Jim Meyering
1998-12-07ansideclifyJim Meyering
1998-10-18 Don't invoke localtime_r or gmtime_r unless it's the GNU CJim Meyering
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-18Declare localtime_r if necessary.Jim Meyering
1998-10-17Some systems require <unistd.h> to be included before <time.h> forJim Meyering
localtime_r to be declared properly.
1998-09-27(my_strftime): Update from FSF.Jim Meyering
1998-04-28tweak from FSFJim Meyering
1997-11-18(_REENTRANT): #define, as some hosts need this to declare localtime_r properly.Jim Meyering
From Paul Eggert.
1997-11-13Update from FSF.Jim Meyering