diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-03-05 12:45:49 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-03-05 12:45:49 +0000 |
commit | 27afe3a4abea797790659f7ce2302a6105f9d475 (patch) | |
tree | ef28b87aee071710775ef68a4ffc445987bf5686 /winsup/cygwin/libc | |
parent | 07be216aabff46148510557d1ce6cef470a2a002 (diff) | |
download | cygnal-27afe3a4abea797790659f7ce2302a6105f9d475.tar.gz cygnal-27afe3a4abea797790659f7ce2302a6105f9d475.tar.bz2 cygnal-27afe3a4abea797790659f7ce2302a6105f9d475.zip |
* localtime.cc: Define TM_GMTOFF and TM_ZONE based on __TM_GMTOFF and
__TM_ZONE being defined. Throughout, write to these struct tm members
only if CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS is true.
* libc/strptime.cc: Ditto.
* include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS):
Define.
(CYGWIN_VERSION_API_MINOR): Bump to 272.
Diffstat (limited to 'winsup/cygwin/libc')
-rw-r--r-- | winsup/cygwin/libc/strptime.cc | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/winsup/cygwin/libc/strptime.cc b/winsup/cygwin/libc/strptime.cc index eeaab831c..1f14818a2 100644 --- a/winsup/cygwin/libc/strptime.cc +++ b/winsup/cygwin/libc/strptime.cc @@ -48,6 +48,13 @@ __RCSID("$NetBSD: strptime.c,v 1.28 2008/04/28 20:23:01 martin Exp $"); #include <tzfile.h> #include "../locale/timelocal.h" +#ifdef __TM_GMTOFF +# define TM_GMTOFF __TM_GMTOFF +#endif +#ifdef __TM_ZONE +# define TM_ZONE __TM_ZONE +#endif + #ifdef __weak_alias __weak_alias(strptime,_strptime) #endif @@ -653,10 +660,12 @@ literal: if (strncmp((const char *)bp, gmt, 3) == 0) { tm->tm_isdst = 0; #ifdef TM_GMTOFF - tm->TM_GMTOFF = 0; + if (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS) + tm->TM_GMTOFF = 0; #endif #ifdef TM_ZONE - tm->TM_ZONE = gmt; + if (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS) + tm->TM_ZONE = gmt; #endif bp += 3; } else { @@ -668,10 +677,12 @@ literal: if (ep != NULL) { tm->tm_isdst = i; #ifdef TM_GMTOFF - tm->TM_GMTOFF = -(timezone); + if (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS) + tm->TM_GMTOFF = -(timezone); #endif #ifdef TM_ZONE - tm->TM_ZONE = tzname[i]; + if (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS) + tm->TM_ZONE = tzname[i]; #endif } bp = ep; |