From ad9820269082f287e6c432550e96b9ddfbfb1f21 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 14 Sep 2005 10:02:54 +0000 Subject: (my_strftime): Parse the colons of %:::z *after* the optional field width, not before, so we accept %9:z, not %:9z. --- lib/strftime.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/strftime.c b/lib/strftime.c index 16342da8c..932166eaf 100644 --- a/lib/strftime.c +++ b/lib/strftime.c @@ -596,11 +596,6 @@ my_strftime (CHAR_T *s, size_t maxsize, const CHAR_T *format, pad = *f; continue; - /* This influences the %z format. */ - case L_(':'): - colons++; - continue; - /* This changes textual output. */ case L_('^'): to_uppcase = true; @@ -648,6 +643,19 @@ my_strftime (CHAR_T *s, size_t maxsize, const CHAR_T *format, break; } + /* Parse the colons of %:::z *after* the optional field width, + not before, so we accept %9:z, not %:9z. */ + { + const CHAR_T *q; + for (q = f; *q == ':' && q - f < 3; q++) + ; /* empty */ + if (*q == 'z') + { + colons = q - f; + f = q; + } + } + /* Now do the specified format. */ format_char = *f; switch (format_char) -- cgit v1.2.3-54-g00ecf