Loading lib/easy.c +16 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ #include "ssh.h" #include "setopt.h" #include "http_digest.h" #include "system_win32.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" Loading @@ -95,6 +96,11 @@ static void win32_cleanup(void) #endif } #ifdef WIN32 LARGE_INTEGER Curl_freq; bool Curl_isVistaOrGreater; #endif /* win32_init() performs win32 socket initialization to properly setup the stack to allow networking */ static CURLcode win32_init(void) Loading Loading @@ -144,6 +150,16 @@ static CURLcode win32_init(void) } #endif #ifdef WIN32 if(Curl_verify_windows_version(6, 0, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { Curl_isVistaOrGreater = TRUE; QueryPerformanceFrequency(&Curl_freq); } else Curl_isVistaOrGreater = FALSE; #endif return CURLE_OK; } Loading lib/timeval.c +8 −16 Original line number Diff line number Diff line Loading @@ -21,30 +21,22 @@ ***************************************************************************/ #include "timeval.h" #include "system_win32.h" #if defined(WIN32) && !defined(MSDOS) /* set in win32_init() */ extern LARGE_INTEGER Curl_freq; extern bool Curl_isVistaOrGreater; struct curltime Curl_now(void) { struct curltime now; static LARGE_INTEGER freq; static int isVistaOrGreater = -1; if(isVistaOrGreater == -1) { if(Curl_verify_windows_version(6, 0, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { isVistaOrGreater = 1; QueryPerformanceFrequency(&freq); } else isVistaOrGreater = 0; } if(isVistaOrGreater == 1) { /* QPC timer might have issues pre-Vista */ if(Curl_isVistaOrGreater) { /* QPC timer might have issues pre-Vista */ LARGE_INTEGER count; QueryPerformanceCounter(&count); now.tv_sec = (time_t)(count.QuadPart / freq.QuadPart); now.tv_usec = (int)((count.QuadPart % freq.QuadPart) * 1000000 / freq.QuadPart); now.tv_sec = (time_t)(count.QuadPart / Curl_freq.QuadPart); now.tv_usec = (int)((count.QuadPart % Curl_freq.QuadPart) * 1000000 / Curl_freq.QuadPart); } else { /* Disable /analyze warning that GetTickCount64 is preferred */ Loading Loading
lib/easy.c +16 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ #include "ssh.h" #include "setopt.h" #include "http_digest.h" #include "system_win32.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" Loading @@ -95,6 +96,11 @@ static void win32_cleanup(void) #endif } #ifdef WIN32 LARGE_INTEGER Curl_freq; bool Curl_isVistaOrGreater; #endif /* win32_init() performs win32 socket initialization to properly setup the stack to allow networking */ static CURLcode win32_init(void) Loading Loading @@ -144,6 +150,16 @@ static CURLcode win32_init(void) } #endif #ifdef WIN32 if(Curl_verify_windows_version(6, 0, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { Curl_isVistaOrGreater = TRUE; QueryPerformanceFrequency(&Curl_freq); } else Curl_isVistaOrGreater = FALSE; #endif return CURLE_OK; } Loading
lib/timeval.c +8 −16 Original line number Diff line number Diff line Loading @@ -21,30 +21,22 @@ ***************************************************************************/ #include "timeval.h" #include "system_win32.h" #if defined(WIN32) && !defined(MSDOS) /* set in win32_init() */ extern LARGE_INTEGER Curl_freq; extern bool Curl_isVistaOrGreater; struct curltime Curl_now(void) { struct curltime now; static LARGE_INTEGER freq; static int isVistaOrGreater = -1; if(isVistaOrGreater == -1) { if(Curl_verify_windows_version(6, 0, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { isVistaOrGreater = 1; QueryPerformanceFrequency(&freq); } else isVistaOrGreater = 0; } if(isVistaOrGreater == 1) { /* QPC timer might have issues pre-Vista */ if(Curl_isVistaOrGreater) { /* QPC timer might have issues pre-Vista */ LARGE_INTEGER count; QueryPerformanceCounter(&count); now.tv_sec = (time_t)(count.QuadPart / freq.QuadPart); now.tv_usec = (int)((count.QuadPart % freq.QuadPart) * 1000000 / freq.QuadPart); now.tv_sec = (time_t)(count.QuadPart / Curl_freq.QuadPart); now.tv_usec = (int)((count.QuadPart % Curl_freq.QuadPart) * 1000000 / Curl_freq.QuadPart); } else { /* Disable /analyze warning that GetTickCount64 is preferred */ Loading