What is a leap second

György 'Nog' Jeney nog at sdf.lonestar.org
Wed Oct 30 07:09:22 CST 2002


> with the following output on win2k.
> 9 0 10 0 9 10

This is weird, I would have expected to get an output like: 2002 10 27 8 9 10
with the followingo patch applied...

nog.

-------------- next part --------------
Index: dlls/ntdll/time.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/time.c,v
retrieving revision 1.20
diff -u -r1.20 time.c
--- dlls/ntdll/time.c	12 Sep 2002 22:07:03 -0000	1.20
+++ dlls/ntdll/time.c	30 Oct 2002 13:06:12 -0000
@@ -89,7 +89,11 @@
 	int LeapSecondCorrections, SecondsInDay, CurYear;
 	int LeapYear, CurMonth, GMTOffset;
 	long int Days;
-	LONGLONG Time = *(LONGLONG *)&liTime;
+	LONGLONG Time;
+
+	Time = liTime->s.HighPart;
+	Time <<= 32;
+	Time += liTime->s.LowPart;
 
 	/* Extract millisecond from time and convert time into seconds */
 	TimeFields->Milliseconds = (CSHORT) ((Time % TICKSPERSEC) / TICKSPERMSEC);
@@ -147,6 +151,7 @@
 	TimeFields->Month = (CSHORT) (CurMonth + 1);
 	TimeFields->Day = (CSHORT) (Days + 1);
 }
+
 /******************************************************************************
  *  RtlTimeFieldsToTime		[NTDLL.@]
  *



More information about the wine-devel mailing list