[Bug 656] Changed - aol update fails, time conversion possibly broken

wine-bugs at winehq.com wine-bugs at winehq.com
Thu May 9 16:30:38 CDT 2002


http://bugs.winehq.com/show_bug.cgi?id=656

*** shadow/656	Tue May  7 17:10:18 2002
--- shadow/656.tmp.24609	Thu May  9 16:30:38 2002
***************
*** 41,43 ****
--- 41,72 ----
  080e42d8:Ret  kernel32.GlobalAlloc() retval=4037c4a6 ret=0040239b
  
  Which means that one of those *Time*To*Time* functions are broken.
+ 
+ ------- Additional Comments From vberon at mecano.gme.usherb.ca  2002-05-09 16:30 -------
+ FileTimeToLocalFileTime takes a FILETIME (which is UTC) and converts it into
+ another FILETIME, this time in the current TZ.
+ 
+ FileTimeToSystemTime seems OK: both the input and the output are supposed to be
+ UTC, so no TZ conversion going on.
+ 
+ Now, the program takes a UTC time (from GetFileTime), transfers it to local (via
+ FileTimeToLocalFileTime), then takes that local time (at least the pointer
+ address seems to indicate that) and transforms it into a SYSTEMTIME (which is
+ supposed to be just another representation of a UTC time).
+ 
+ The problem seems to lie in the call to FileTimeToSystemTime: the program sends
+ an "illegal" time (local time) rather than a real file time (which is UTC).
+ 
+ I'll have to play a bit on a real Windows computer to try some stuff, and verify
+ what those 2 functions actually do on Windows.
+ 
+ I assume you're in CDT (-500 from UTC), which explains the 0500 difference in
+ the strings. Could you try again with a +0000 TZ? It might help to further
+ target the culprit...
+ 
+ Are there other calls you could try to trace, like the pointers from which the 2
+ strings are made of? It might help knowing what is the code path leading to one
+ and the other strings. Right now, my guess is that the first one (164848) is
+ constructed from the local time (pointer 0x40566650), and the second one
+ (214848) from a UTC time (pointer 0x40566648). The pointer 0x40566658 is just
+ another representation of 0x40566650.
\ No newline at end of file



More information about the wine-bugs mailing list