summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/libc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-03-05 12:45:49 +0000
committerCorinna Vinschen <corinna@vinschen.de>2014-03-05 12:45:49 +0000
commit27afe3a4abea797790659f7ce2302a6105f9d475 (patch)
treeef28b87aee071710775ef68a4ffc445987bf5686 /winsup/cygwin/libc
parent07be216aabff46148510557d1ce6cef470a2a002 (diff)
downloadcygnal-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.cc19
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;