[svn-r28202] HDFFV-9550: Add VS2015 fix for timezone.

CMake test fix for VS2015 print exponent
This commit is contained in:
Allen Byrne
2015-10-23 09:44:04 -05:00
parent 6ab00dd2a0
commit 5c8703895d
3 changed files with 63 additions and 48 deletions

View File

@@ -178,7 +178,13 @@ H5O_mtime_decode(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5
time_t *mesg, the_time;
int i;
struct tm tm;
void *ret_value; /* Return value */
void *ret_value = NULL; /* Return value */
#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;
#endif
FUNC_ENTER_NOAPI_NOINIT
@@ -219,6 +225,9 @@ H5O_mtime_decode(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5
/* BSD-like systems */
the_time += tm.tm_gmtoff;
#elif defined(H5_HAVE_TIMEZONE)
#if _MSC_VER >= 1900 // VS 2015
HDget_timezone(&timezone);
#endif
/* GNU/Linux systems */
the_time -= timezone - (tm.tm_isdst ? 3600 : 0);
#else