On 2017-08-24 03:25, Corinna Vinschen wrote: > On Aug 23 12:51, Brian Inglis wrote: >> Attached patch to support %s in Cygwin winsup libc strptime.cc __strptime(). >> >> This also enables support for %s in dateutils package strptime(1). >> >> In case the issue comes up, if the user wants to support %s as in date(1) >> with a >> preceding @ flag, they just have to include that verbatim before the format >> as >> in "@%s". >> >> Testing revealed a separate issue with %F format which I will follow up on >> in a >> different thread. >> >> Similar patch coming for newlib. >> >> -- >> Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada > >> From 11f950597e7f66132a2ce6c8120f7199ba02316f Mon Sep 17 00:00:00 2001 >> From: Brian Inglis <brian.ing...@systematicsw.ab.ca> >> Date: Tue, 22 Aug 2017 15:10:27 -0600 >> Subject: [PATCH] winsup/cygwin/libc/strptime.cc(__strptime) add strptime %s >> >> --- >> winsup/cygwin/libc/strptime.cc | 23 +++++++++++++++++++++++ >> 1 file changed, 23 insertions(+) >> >> diff --git a/winsup/cygwin/libc/strptime.cc b/winsup/cygwin/libc/strptime.cc >> index 62dca6e5e..a7fef4985 100644 >> --- a/winsup/cygwin/libc/strptime.cc >> +++ b/winsup/cygwin/libc/strptime.cc >> @@ -573,6 +573,29 @@ literal: >> bp = conv_num(bp, &tm->tm_sec, 0, 61, ALT_DIGITS); >> continue; >> >> + case 's' : /* The seconds since Unix epoch - GNU extension >> */ >> + { >> + long long sec; >> + time_t t; >> + int errno_save; >> + char *end; >> + >> + LEGAL_ALT(0); >> + errno_save = errno; > > Funny enough, in other places in Cygwin we call this temp variable > "save_errno" :) > > > Alternatively, since you're in C++ code, you can use the save_errno > class, like this: > > { > save_errno save; > > [do your thing] > } > > The destructor of save_errno will restore errno. > > Since the code as such is fine, it's your choice if you want to stick > to it or use one of the above. Just give the word.
Useful - wish I'd known - stick to your standards and keep it clean - thanks. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada