]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
blindfix for Visual 841/head
authorYann Collet <cyan@fb.com>
Wed, 13 Sep 2017 04:21:17 +0000 (21:21 -0700)
committerYann Collet <cyan@fb.com>
Wed, 13 Sep 2017 04:21:17 +0000 (21:21 -0700)
LARGE_INTEGER is not an integer :
https://msdn.microsoft.com/en-us/library/windows/desktop/aa383713(v=vs.85).aspx

Do not take any risk with the structure definition :
use int init = 0; like Mac code

programs/util.h

index 65eb195dc4c2a63a46f45ecaf82eea3f4b35711e..c8be5f5fb574c747de7d48e3546104287c549c39 100644 (file)
@@ -122,19 +122,23 @@ static int g_utilDisplayLevel;
     UTIL_STATIC UTIL_time_t UTIL_getTime(void) { UTIL_time_t x; QueryPerformanceCounter(&x); return x; }
     UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd)
     {
-        static LARGE_INTEGER ticksPerSecond = 0;
-        if (!ticksPerSecond) {
+        static LARGE_INTEGER ticksPerSecond;
+        static int init = 0;
+        if (!init) {
             if (!QueryPerformanceFrequency(&ticksPerSecond))
                 UTIL_DISPLAYLEVEL(1, "ERROR: QueryPerformanceFrequency() failure\n");
+            init = 1;
         }
         return 1000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart;
     }
     UTIL_STATIC U64 UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd)
     {
-        static LARGE_INTEGER ticksPerSecond = 0;
-        if (!ticksPerSecond) {
+        static LARGE_INTEGER ticksPerSecond;
+        static int init = 0;
+        if (!init) {
             if (!QueryPerformanceFrequency(&ticksPerSecond))
                 UTIL_DISPLAYLEVEL(1, "ERROR: QueryPerformanceFrequency() failure\n");
+            init = 1;
         }
         return 1000000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart;
     }