aboutsummaryrefslogtreecommitdiff
path: root/time
diff options
context:
space:
mode:
Diffstat (limited to 'time')
-rw-r--r--time/strftime.c1
-rw-r--r--time/strptime.c9
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);