Hello,
with ruby 1.8.4 on Windows XP, there seems still to be an error of 1
hour when assigning mtime to a file by using utime.
Condition: Assigning a daylight saving time while actual time is not
daylight saving time.
The same seems to be OK on Windows 98SE.
I tested it as described in:
http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/fe4a0
342986ebd71
Is there a fix or work-around?
I’m using:
ruby 1.8.4 (2005-12-24) [i386-mswin32] on both systems.
Axel
Hello.
I tested it as described in:
ruby 1.8.4 (2005-12-24) [i386-mswin32] on both systems.
Axel
Sorry, this is regression I introduced when fixed another bug of stat(2)
on WinNT.
Index: win32.c
RCS file: /src/ruby/win32/win32.c,v
retrieving revision 1.186
diff -u -w -b -p -r1.186 win32.c
— win32.c 24 Feb 2006 02:19:44 -0000 1.186
+++ win32.c 2 Mar 2006 03:39:48 -0000
@@ -3223,6 +3223,7 @@ filetime_to_unixtime(const FILETIME *ft)
tm.tm_hour = st.wHour;
tm.tm_min = st.wMinute;
tm.tm_sec = st.wSecond;
- tm.tm_isdst = -1;
t = mktime(&tm);
return t == -1 ? 0 : t;
}
I’ll commit this on CVS.
I’ll commit this on CVS.
Thank You! (I’m looking forward to get the “right” utime.)
http://search.cpan.org/~shay/Win32-UTCFileTime-
1.45/lib/Win32/UTCFileTime.pm
Very interesting; and even the presentation of the solution in
chapter “The Final Solution” and “More problems: utime()”.
Axel