|
Message-ID: <20180222234441.GG1436@brightrain.aerifal.cx> Date: Thu, 22 Feb 2018 18:44:41 -0500 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCH] strptime: Add %F format (glibc extension). On Thu, Feb 22, 2018 at 10:53:39PM +0100, Przemyslaw Pawelczyk wrote: > %F is a shortcut for %Y-%m-%d, the ISO 8601 date format. > It's already present in POSIX's strftime(), so it makes sense to support > it in a converse function too. > --- > > I'm not subscribed to ML, so please CC me in case of replying. > > src/time/strptime.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/src/time/strptime.c b/src/time/strptime.c > index c54a0d8c4c52..2c0d45574819 100644 > --- a/src/time/strptime.c > +++ b/src/time/strptime.c > @@ -59,6 +59,10 @@ char *strptime(const char *restrict s, const char *restrict f, struct tm *restri > s = strptime(s, "%m/%d/%y", tm); > if (!s) return 0; > break; > + case 'F': > + s = strptime(s, "%Y-%m-%d", tm); > + if (!s) return 0; > + break; > case 'H': > dest = &tm->tm_hour; > min = 0; Not having looked at this function in a while, I was doubtful the above would work, but in fact it looks like it does (analogous to the above case). While lots of this function is underspecified, the contract for the return value is well-designed. The want_century logic may be incomplete for %D and now %F, though. If so that's a separate issue from lack of %F extension and should be fixed in a separate patch. I think %F just needs to set want_century to 0, but %D might have more work to do. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.