Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:
ruby 1.9.2dev (2009-03-11 trunk 22881) [x86_64-linux]
e$B$^$;$s!#e(B
e$BFI$`B&$Oe(Bunsignede$B$GFI$s$G$^$9$1$I$M$(e(B
zsh % ~/target/trunk/bin/ruby -rstringio -rzlib -ve’
s = open("/tmp/tmp.gz", “r:ASCII-8BIT”) {|f| f.read }
s[4,4] = [1<<32 - 1].pack(“L”)
f = StringIO.new(s)
Zlib::GzipReader.wrap(f) {|gz| p gz.mtime }’
ruby 1.9.2dev (2009-03-31 trunk 23101) [x86_64-linux]
2038-01-19 12:14:08 +0900
e$B$=$N%a%=%C%I$r8F$V$N$rK:$l$?$H$-$K$O!“e(BFile.utime e$B$K$?$I$jCee(B
e$B$/$^$G8!=P$G$-$^$;$s$,!”$=$N>l9g$K8!=P$9$k$N$OFq$7$$$s$8$c$Je(B
e$B$$$G$7$g$&$+!#@EE*7?$d7??dO@$rF3F~$7$J$$8B$j!#e(B
e$B$&!<$s!"$b$H$b$H$Ne(B
e$B!V%i%$%V%i%j:n<T$,$$$o$l$N$J$$%P%0Js9p$GHhJ@$9$k$N$rHr$1$?$$!We(B
e$B$H$$$&%K!<%:$O$"$^$jK~$?$7$F$/$l$J$$$N$,5$$K$J$j$^$9$,!"$7$g$&$,$J$$$N$+$J$"!#e(B
e$B$=$l0J30$N>l9g$K$b6=L#$,$"$j$^$9!#7?$,$J$$B>$N8@8l$G$OIT@5$JCM$,$I$3$+$i$d$C$Fe(B
e$B$-$?$+$r$I$N$h$&$K%G%P%C%0$9$k$s$G$7$g$&!#$@$l$+CN$j$^$;$s$+$M!#e(Bprintf e$B%G%P%C%0$J$s$8$c$J$$$G$9$+!#e(B
e$B$"$!!"$=$&$$$($Pe(B OCaml e$B$N%G%P%C%,$O5UJ}8~$KF0$+$;$^$9$M!#$3e(B
e$B$l$OM}A[E*$J2r7h:v$+$b$7$l$^$;$s!#e(BOCaml e$B$,7?$N$J$$8@8l$@$H$Oe(B
e$B$$$$$^$;$s$,!#e(B
e$B7?$H$$$&$+$`$7$m5UJ}8~$KF0$+$=$&$H$9$k;~$K$"$k$H:$$k$N$OI{:nMQ$N$h$&$J5$$,$7$^e(B
e$B$9$,!“e(BOcamle$B$C$F@53JI>2A$@$C$?$h$&$J!”$H;W$C$F$A$g$C$HD4$Y$k$He(Bforke$B$9$k$N$+!#e(B
e$B$&!<$s!"$3$l$O9S5;$@$Je(B…
e$B$"$H!"e(Bgzip e$B$Ne(B MTIME e$B$Ge(B 0 e$B$Oe(B 1970-01-01 00:00:00 UTC e$B$G$O$J$/!“e(B
timestamp e$B$,B8:_$7$J$$$3$H$r<($7$F$$$k$N$G!”$3$NItJ,$b0UL#$,e(B
e$B0c$&$H9M$($k$N$,E,@Z$+$b$7$l$^$;$s!#e(Be$B?tCM$NHO0O$r7?$G07$$&$H$$$&%A%c%l%s%8$O?7$7$$$b$N$G$O$J$$$He(B
e$B;W$$$^$9$,!"$=$s$J$K4JC1$K$$$/$b$N$G$b$J$$$h$&$J5$$,$7$^$9!#e(B
e$B>/$J$/$H$b@EE$J?dO@$K$D$$$F$O!#e(B
e$B$=$&$$$&>l9g$ON>J}$rJq4^$9$k$h$&$J%9!<%Q!<%/%i%9$rDj5A$9$k$N$@$H;W$$$^$9!#$?$He(B
e$B$($Pe(BFloate$B$He(BBignume$B$K$O6&DL$Ne(BNumerice$B$H$$$&%9!<%Q!<%/%i%9$,$"$j$^$9!#e(B
e$BNc$($P!"e(Btime + 1000 e$B$N%/%i%9$O$J$s$G$7$g$&e(B?
1000e$BIC$r2C$($?$3$H$K$h$j!"e(Btime e$B$N%/%i%9$,I=8=2DG=$JHO0O$r30e(B
e$B$l$F$7$^$&$+$b$7$l$^$;$s!#$=$N$H$-$K$I$N%/%i%9$rA*$V$s$G$7$ge(B
e$B$&e(B? e$B$=$l$H$b<:GT$9$k$s$G$7$g$&$+e(B?e$B<:GT$7$J$$>l9g!“e(BBignum e$B$He(B Fixnum e$B$N$h$&$K!“Jq4^4X78$G$”$l$Pe(B
e$B%/%i%9$rA*$V$N$KG:$^$J$/$F:Q$`$+$b$7$l$^$;$s$,!“e(B32bit
unsigned e$B$He(B 32bit signed e$B$H$+!”$=$3$+$ie(B 0 e$B$r=|$$$?=89g!“Jq4^e(B
e$B4X78$H$O8B$i$J$$4X78$N=89g$,$$$/$D$+$”$C$?$i!”<+L@$H$O8@$$$,e(B
e$B$?$$5sF0$K$J$i$6$k$rF@$J$$$N$G$O$J$$$G$7$g$&$+!#e(B
e$B$?$H$($Pe(B3/2e$B$N%/%i%9$O$J$s$G$7$g$&$+e(B? Fixnume$B$G$9$h$M!#e(B
Rubye$B$N>l9g$O!V;MB’1i;;$G$O7?$OJQ$($J$$J}$KE]$9!W$H$$$&@_7W$J$N$@$H;W$$$^$9!#e(B
e$B$+$J$j$"$-$i$+$Ke(B Ruby e$B$C$]$/$J$$$H$$$&%l%Y%k$KC#$7$F$$$k$H;We(B
e$B$$$^$9!#e(B
e$B$=$&$+$J$"!#%G%P%C%0$7$d$9$$%W%m%0%i%`$,=q$1$k$N$Oe(B(e$BFC$Ke(BPerle$B$HHf$Y$?e(B)Rubye$B$NBg$-e(B
e$B$JFCD’$N0l$D$@$H;W$&$s$@$1$I$J$"!#e(Be$B>e5-$Ne(B Ruby e$B$C$]$/$J$$$H$$$&$N$O@EE*7?$NF3F~$r;X$7$F$$$^$9!#e(B
e$B%G%P%C%0$7$d$9$$%W%m%0%i%`$r=q$/$3$H$K$O$b$A$m$s;?@.$G$9!#e(B
e$B$Y$D$K@EE*7?$rF3F~$7$J$/$F$be(BFile.utimee$B$h$jA0$KNc30$r5/$3$9J}K!$O$"$k$8$c$J$$$Ge(B
e$B$9$+!#$D$^$j8=>u$O$=$&$J$o$1$G$9$1$I!#e(B
e$B$=$7$F!"$b$7!“e(Btime_t e$B$NHO0O$K$*$5$^$k$Y$-$G$”$k$H%W%m%0%i%^e(B
e$B$,CN$C$F$$$kJ8L.$G!"$=$N$3$H$r%W%m%0%i%`>e$GI=8=$7$?$$$H$7$?e(B
e$B$i!"$=$N8!::$r$9$k%a%=%C%I$r:n$k$H$$$&$N$,E,Ev$G$7$g$&!#e(Be$B$$$^$^$G$O0EL[$N$&$A$K$=$N8!::$,9T$o$l$?$H9M$($i$l$^$9$+$i!"e(B
e$BM[$K8F$S=P$5$J$1$l$P$J$i$J$$$H$$$&$N$O$?$7$+$K<j4V$,$+$+$j$^e(B
e$B$9!#e(Be$B$G$9$,!"e(BFile.utime e$B$N$?$a$K;H$o$l$ke(B Time e$B%*%V%8%’%/%H$O3d9ge(B
e$B$H$7$F$O>/$J$/!"Bg$-$JLdBj$G$O$J$$$N$G$O$J$$$G$7$g$&$+!#e(B
e$B$=$b$=$b$J$s$Ge(BFile.utimee$B$K$Oe(BTimee$B%%V%8%’%/%H$rEO$5$J$$$H$$$1$J$$$s$G$9$+e(B?
File.utimee$B$N0z?t$KEO$9%%V%8%’%/%H$,!"Hf3S$7$?$jI=<($7$?$j$9$ke(BTimee$B%*%V%8%’%/%He(B
e$B$G$J$$$H$$$1$J$$M}M3$O$J$$$H;W$&$s$G$9$1$I!#e(B
File.utimee$B$,$=$s$J$KFC<l$J$ie(BTimee$B$H@Z$jN%$;$P$$$$$s$8$c$J$$e(B?
struct nfstime4 e$B$G$Oe(B int64_t seconds e$B$N$h$&$G$9!#e(B
e$B$=$&$9$k$H!"$I$&$;3N<B$J8!::$Oe(B File.utime e$B$^$G$G$-$J$$$N$@$+e(B
e$B$iJ|$C$F$*$1$P$$$$!"$H$$$&8+J}$b$"$k$H;W$$$^$9!#e(B
e$B$=$l$Oe(BCe$B$N$&$l$7$/$J$5$,e(BRubye$B$N%l%Y%k$^$G>e$,$C$F$-$F$k$@$1$G2?$N2r7h$K$b$J$C$F$Je(B
e$B$$$h$&$K;W$($^$9!#e(B