Fix reference to timezone variable - removed in VS 2015
authorBruce Dawson <brucedawson@google.com>
Thu, 9 Apr 2015 16:36:34 +0000 (09:36 -0700)
committerBruce Dawson <brucedawson@google.com>
Thu, 9 Apr 2015 16:36:34 +0000 (09:36 -0700)
It turns out that 'timezone' has been deprecated for a while. If
deprecation messages are enabled then VS 2013 says this when 'timezone'
is referenced:

warning C4996: 'timezone': This function or variable may be unsafe.
Consider using _get_timezone instead.

Sometimes features stay deprecated for decades, but in this case
'timezone' is now gone.

R=tsepez@chromium.org
BUG=440500

Review URL: https://codereview.chromium.org/1075673002

fpdfsdk/src/jsapi/fxjs_v8.cpp

index edade5f..1fb2a08 100644 (file)
@@ -758,6 +758,13 @@ double _getLocalTZA()
        time_t t = 0;
        time(&t);
        localtime(&t);
+#if _MSC_VER >= 1900
+  // 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;
+  _get_timezone(&timezone);
+#endif
        return (double)(-(timezone * 1000));
 }