Forum: Ruby utime: still with bug?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cda2387ce34454894a876615638547ff?d=identicon&s=25 Axel Friedrich (Guest)
on 2006-03-01 20:48
(Received via mailing list)
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:
<longLine>
http://groups.google.com/group/comp.lang.ruby/brow...
342986ebd71
</longLine>


Is there a fix or work-around?


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


Axel
A60a5ad91da9053cd6402042f433ee67?d=identicon&s=25 H.Yamamoto (Guest)
on 2006-03-02 04:47
(Received via mailing list)
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.
A0a1ccb374080e5387f524ae6105d8b1?d=identicon&s=25 Axel Friedrich (Guest)
on 2006-03-02 07:34
(Received via mailing list)
> 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
This topic is locked and can not be replied to.