From 1f1f1955dc6521b9934d04677e9a3b5f23fa0e72 Mon Sep 17 00:00:00 2001 From: m2otech Date: Thu, 30 Mar 2017 03:39:39 +0200 Subject: [PATCH] Fixed compile error in MinGW (#260) * Fixed compile error in MinGW Some versions of MinGW miss some definitions. In order to be able to compile I redefined a function and added an explicit include. It is only a quick workaround, as other people also seemed to have the same problem. It should be checked whether a better solution is possible. * Removed _ftime_s redefine, calling _ftime directly --- client/util.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/client/util.c b/client/util.c index d07c915c..d4e59165 100644 --- a/client/util.c +++ b/client/util.c @@ -634,13 +634,22 @@ void msleep(uint32_t n) { // a milliseconds timer for performance measurement uint64_t msclock() { #if defined(_WIN32) -#include - struct _timeb t; - if (_ftime_s(&t)) { - return 0; - } else { - return 1000 * t.time + t.millitm; - } + #include + + // WORKAROUND FOR MinGW (some versions - use if normal code does not compile) + // It has no _ftime_s and needs explicit inclusion of timeb.h + #include + struct _timeb t; + _ftime(&t); + return 1000 * t.time + t.millitm; + + // NORMAL CODE (use _ftime_s) + //struct _timeb t; + //if (_ftime_s(&t)) { + // return 0; + //} else { + // return 1000 * t.time + t.millitm; + //} #else struct timespec t; clock_gettime(CLOCK_MONOTONIC, &t); -- 2.39.5