diff options
Diffstat (limited to 'time')
-rw-r--r-- | time/strftime.c | 1 | ||||
-rw-r--r-- | time/strptime.c | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/time/strftime.c b/time/strftime.c index be7891d14a..bb19babc34 100644 --- a/time/strftime.c +++ b/time/strftime.c @@ -1041,7 +1041,6 @@ my_strftime (s, maxsize, format, tp ut_argument) add (1, *p = '\t'); break; - case 'f': case 'u': /* POSIX.2 extension. */ DO_NUMBER (1, (tp->tm_wday - 1 + 7) % 7 + 1); diff --git a/time/strptime.c b/time/strptime.c index 315af83980..f4b954dfe9 100644 --- a/time/strptime.c +++ b/time/strptime.c @@ -86,6 +86,8 @@ localtime_r (t, tp) #define get_number(from, to) \ do { \ val = 0; \ + while (*rp == ' ') \ + ++rp; \ if (*rp < '0' || *rp > '9') \ return NULL; \ do { \ @@ -405,6 +407,12 @@ strptime_internal (buf, format, tm, decided) /* Match day of month. */ get_number (1, 31); tm->tm_mday = val; + want_xday = 1; + break; + case 'F': + if (!recursive ("%Y-%m-%d")) + return NULL; + want_xday = 1; break; case 'x': #ifdef _NL_CURRENT @@ -433,6 +441,7 @@ strptime_internal (buf, format, tm, decided) return NULL; want_xday = 1; break; + case 'k': case 'H': /* Match hour in 24-hour clock. */ get_number (0, 23); |