about summary refs log tree commit diff
path: root/Src/system.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/system.h')
-rw-r--r--Src/system.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Src/system.h b/Src/system.h
index 2f3dcd32a..fafa5dd01 100644
--- a/Src/system.h
+++ b/Src/system.h
@@ -52,6 +52,18 @@
 # undef HAVE_SYS_UTSNAME_H
 #endif
 
+/*
+ * Solaris by default zeroes all elements of the tm structure in
+ * strptime().  Unfortunately that gives us no way of telling whether
+ * the tm_isdst element has been set from the input pattern.  If it
+ * hasn't we want it to be -1 (undetermined) on input to mktime().  So
+ * we stop strptime() zeroing the struct tm and instead set all the
+ * elements ourselves.
+ *
+ * This is likely to be harmless everywhere else.
+ */
+#define _STRPTIME_DONTZERO
+
 #ifdef PROTOTYPES
 # define _(Args) Args
 #else