Forum: Ruby utime: still with bug?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Axel F. (Guest)
on 2006-03-01 21:48
(Received via mailing list)

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:

Is there a fix or work-around?

I'm using:
ruby 1.8.4 (2005-12-24) [i386-mswin32] on both systems.

H.Yamamoto (Guest)
on 2006-03-02 05:47
(Received via mailing list)

>I tested it as described in:
>ruby 1.8.4 (2005-12-24) [i386-mswin32] on both systems.

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.
Axel F. (Guest)
on 2006-03-02 08:34
(Received via mailing list)
> I'll commit this on CVS.

Thank You! (I'm looking forward to get the "right" utime.)


*Very* interesting; and even the presentation of the solution in
chapter "The Final Solution" and "More problems: utime()".

This topic is locked and can not be replied to.