summaryrefslogtreecommitdiffstats
path: root/src/H5system.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5system.c')
-rw-r--r--src/H5system.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/H5system.c b/src/H5system.c
index e00e5a5..098c109 100644
--- a/src/H5system.c
+++ b/src/H5system.c
@@ -586,6 +586,37 @@ void HDsrand(unsigned int seed)
/*-------------------------------------------------------------------------
+ * Function: HDget_timezone
+ *
+ * Purpose: Wrapper function for global variable timezone, if it exists
+ * on this system, or use the function if VS2015
+ *
+ * VS2015 removed the deprecated global variable timezone.
+ *
+ * Return: Success: The value of timezone
+ *
+ * Failure: Cannot fail.
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifdef H5_HAVE_TIMEZONE
+
+long HDget_timezone(void)
+{
+#if _MSC_VER >= 1900 // VS 2015
+// In gcc and in Visual Studio prior to VS 2015 'timezone' is a global
+// variable declared in time.h. That variable was deprecated and in VS 2015
+// is removed, with _get_timezone replacing it.
+ long timezone = 0;
+
+ #define HDget_timezone(V) _get_timezone(V);
+ HDget_timezone(&timezone);
+#endif
+ return timezone;
+}
+#endif /* H5_HAVE_TIMEZONE */
+
+/*-------------------------------------------------------------------------
* Function: Wgettimeofday
*
* Purpose: Wrapper function for gettimeofday on Windows systems