OSDN Git Service

* libc/time/strftime.c (strftime): Add '%h' and '%l, %k' GNU extensions.
authorcgf <cgf>
Wed, 15 Jan 2003 18:52:01 +0000 (18:52 +0000)
committercgf <cgf>
Wed, 15 Jan 2003 18:52:01 +0000 (18:52 +0000)
newlib/ChangeLog
newlib/libc/time/strftime.c

index 2337ca6..628d2bf 100644 (file)
@@ -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.
index 9c115b6..9084d9f 100644 (file)
@@ -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;
                }