aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libc/time/strftime.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 2337ca6..628d2bf 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-14 Christopher Faylor <cgf@redhat.com>
+
+ * libc/time/strftime.c (strftime): Add '%h' and '%l, %k' GNU
+ extensions.
+
2003-01-08 Richard Sandiford <rsandifo@redhat.com>
* configure.host (mips64vr-elf, mips64vrel-elf): New config.
diff --git a/newlib/libc/time/strftime.c b/newlib/libc/time/strftime.c
index 9c115b6..9084d9f 100644
--- a/newlib/libc/time/strftime.c
+++ b/newlib/libc/time/strftime.c
@@ -209,6 +209,7 @@ _DEFUN (strftime, (s, maxsize, format, tim_p),
}
break;
case 'b':
+ case 'h':
for (i = 0; i < 3; i++)
{
if (count < maxsize - 1)
@@ -271,9 +272,10 @@ _DEFUN (strftime, (s, maxsize, format, tim_p),
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, tim_p),
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, tim_p),
}
else
{
- sprintf (&s[count], "%.2d",
+ sprintf (&s[count], (*format == 'I') ? "%.2d" : "%2d",
tim_p->tm_hour % 12);
count += 2;
}