https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8324ab5e2a08513cef052070f1e7cb228d28b7c8

commit 8324ab5e2a08513cef052070f1e7cb228d28b7c8
Author: Brian Inglis <brian.ing...@systematicsw.ab.ca>
Date:   Thu Aug 24 13:24:28 2017 -0600

    winsup/cygwin/libc/strptime.cc(__strptime) add %s support to strptime

Diff:
---
 winsup/cygwin/libc/strptime.cc | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/winsup/cygwin/libc/strptime.cc b/winsup/cygwin/libc/strptime.cc
index 62dca6e..7c6cc20 100644
--- a/winsup/cygwin/libc/strptime.cc
+++ b/winsup/cygwin/libc/strptime.cc
@@ -573,6 +573,26 @@ 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;
+                       char *end;
+                       save_errno save;
+
+                       LEGAL_ALT(0);
+                       sec = strtoll_l ((char *)bp, &end, 10, locale);
+                       t = sec;
+                       if (end == (char *)bp
+                           || errno != 0
+                           || t != sec
+                           || localtime_r (&t, tm) != tm)
+                           return NULL;
+                       bp = (const unsigned char *)end;
+                       ymd |= SET_YDAY | SET_WDAY | SET_YMD;
+                       break;
+                   }
+
                case 'U':       /* The week of year, beginning on sunday. */
                case 'W':       /* The week of year, beginning on monday. */
                        /*

Reply via email to