[RFA] One strftime fix, two strftime additions of GNU extensions
J. Johnston
jjohnstn@redhat.com
Wed Jan 15 17:11:00 GMT 2003
Christopher Faylor wrote:
> The patch below adds missing '%h' functionality to strftime. It also
> adds the GNU '%l' and '%k' options which provides the time of day in a
> left space filled format.
>
> Ok to apply?
>
Yes, thanks.
-- Jeff J.
> cgf
>
> 2003-01-14 Christopher Faylor <cgf@redhat.com>
>
> * libc/time/strftime.c (strftime): Add '%h' and '%l, %k' GNU
> extensions.
>
> Index: libc/time/strftime.c
> ===================================================================
> RCS file: /cvs/uberbaum/newlib/libc/time/strftime.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 strftime.c
> --- libc/time/strftime.c 21 Jun 2002 20:04:40 -0000 1.4
> +++ libc/time/strftime.c 15 Jan 2003 05:03:43 -0000
> @@ -209,6 +209,7 @@ _DEFUN (strftime, (s, maxsize, format, t
> }
> break;
> case 'b':
> + case 'h':
> for (i = 0; i < 3; i++)
> {
> if (count < maxsize - 1)
> @@ -271,9 +272,10 @@ _DEFUN (strftime, (s, maxsize, format, t
> return 0;
> break;
> case 'H':
> + case 'k':
> if (count < maxsize - 2)
> {
> - sprintf (&s[count], "%2.2d",
> + sprintf (&s[count], *format == 'k' ? "%2d" : "%2.2d",
> tim_p->tm_hour);
> count += 2;
> }
> @@ -281,6 +283,7 @@ _DEFUN (strftime, (s, maxsize, format, t
> return 0;
> break;
> case 'I':
> + case 'l':
> if (count < maxsize - 2)
> {
> if (tim_p->tm_hour == 0 ||
> @@ -291,7 +294,7 @@ _DEFUN (strftime, (s, maxsize, format, t
> }
> else
> {
> - sprintf (&s[count], "%.2d",
> + sprintf (&s[count], (*format == 'I') ? "%.2d" : "%2d",
> tim_p->tm_hour % 12);
> count += 2;
> }
More information about the Newlib
mailing list