diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-03-04 14:38:02 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-03-04 14:38:02 +0000 |
commit | 01d7096c1457944db675c6ffb3897eec0b8fda55 (patch) | |
tree | d200ec41386e1499edba7a069e09989a880f87cf /file.c | |
parent | c6f297912b7b6a12558278ff9385c70d4c7a3634 (diff) | |
download | ruby-01d7096c1457944db675c6ffb3897eec0b8fda55.tar.gz ruby-01d7096c1457944db675c6ffb3897eec0b8fda55.tar.xz ruby-01d7096c1457944db675c6ffb3897eec0b8fda55.zip |
* file.c (rb_stat_s_utime): fixed a commit miss for the platforms
where utimes() does not exist.
* lib/fileutils.rb (touch): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -2031,12 +2031,15 @@ rb_file_s_utime(int argc, VALUE *argv) rb_scan_args(argc, argv, "2*", &atime, &mtime, &rest); - tv = rb_time_timeval(atime); - utbuf.actime = tv.tv_sec; - tv = rb_time_timeval(mtime); - utbuf.modtime = tv.tv_sec; + if (!NIL_P(atime) || !NIL_P(mtime)) { + utp = &utbuf; + tv = rb_time_timeval(atime); + utp->actime = tv.tv_sec; + tv = rb_time_timeval(mtime); + utp->modtime = tv.tv_sec; + } - n = apply2files(utime_internal, rest, &utbuf); + n = apply2files(utime_internal, rest, utp); return LONG2FIX(n); } |