Windows; GetSystemTimeAsFileTime
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 4 Nov 2013 05:12:07 +0000 (00:12 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Sat, 16 Nov 2013 00:58:38 +0000 (16:58 -0800)
As per Raymond Chen's "The Old New Thing" blog

  http://blogs.msdn.com/b/oldnewthing/archive/2013/11/01/10462403.aspx

Calling GetSystemTime() followed by SystemTimeToFileTime() performs
two format translations which can be avoided by using
GetSystemTimeAsFileTime() directly.

Change-Id: I3d3de0e045777c9dfdb1c1f4503bfdfe19fb7b73
Reviewed-on: http://gerrit.openafs.org/10430
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/client_osi/osisleep.c

index 14ace2b..690f118 100644 (file)
@@ -197,7 +197,6 @@ void osi_Init(void)
     static osi_once_t once;
     unsigned long remainder;           /* for division output */
     osi_fdType_t *typep;
-    SYSTEMTIME sysTime;
     FILETIME fileTime;
     osi_hyper_t bootTime;
 
@@ -206,8 +205,7 @@ void osi_Init(void)
         return;
 
     /* setup boot time values */
-    GetSystemTime(&sysTime);
-    SystemTimeToFileTime(&sysTime, &fileTime);
+    GetSystemTimeAsFileTime(&fileTime);
 
     /* change the base of the time so it won't be negative for a long time */
     fileTime.dwHighDateTime -= 28000000;
@@ -708,13 +706,11 @@ void osi_panic(char *msgp, char *filep, long line)
 time_t osi_Time(void)
 {
     FILETIME fileTime;
-    SYSTEMTIME sysTime;
     unsigned long remainder;
     LARGE_INTEGER bootTime;
 
     /* setup boot time values */
-    GetSystemTime(&sysTime);
-    SystemTimeToFileTime(&sysTime, &fileTime);
+    GetSystemTimeAsFileTime(&fileTime);
 
     /* change the base of the time so it won't be negative for a long time */
     fileTime.dwHighDateTime -= 28000000;
@@ -737,13 +733,11 @@ time_t osi_Time(void)
 void osi_GetTime(long *timesp)
 {
     FILETIME fileTime;
-    SYSTEMTIME sysTime;
     unsigned long remainder;
     LARGE_INTEGER bootTime;
 
     /* setup boot time values */
-    GetSystemTime(&sysTime);
-    SystemTimeToFileTime(&sysTime, &fileTime);
+    GetSystemTimeAsFileTime(&fileTime);
 
     /* change the base of the time so it won't be negative for a long time */
     fileTime.dwHighDateTime -= 28000000;