From 9b7ecc68a9e869143367556dba35f7368839ab32 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 4 Mar 2007 14:38:02 +0000 Subject: [PATCH] * 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@11985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ file.c | 13 ++++++++----- lib/fileutils.rb | 2 +- version.h | 6 +++--- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 37a10d38a9..1c13325697 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Mar 4 23:38:07 2007 Nobuyoshi Nakada + + * file.c (rb_stat_s_utime): fixed a commit miss for the platforms + where utimes() does not exist. + + * lib/fileutils.rb (touch): ditto. + Sun Mar 4 14:46:56 2007 WATANABE Hirofumi * util.c (push_element): should return a int value. diff --git a/file.c b/file.c index 843b170553..57c7adaa5c 100644 --- a/file.c +++ b/file.c @@ -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); } diff --git a/lib/fileutils.rb b/lib/fileutils.rb index 73ee072024..35bfd4b76f 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -1012,7 +1012,7 @@ module FileUtils fu_check_options options, OPT_TABLE['touch'] list = fu_list(list) created = nocreate = options[:nocreate] - t = options[:mtime] || Time.now + t = options[:mtime] if options[:verbose] fu_output_message "touch #{nocreate ? ' -c' : ''}#{t ? t.strftime(' -t %Y%m%d%H%M.%S') : ''}#{list.join ' '}" end diff --git a/version.h b/version.h index 90f2886a29..fddcd8d867 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2007-03-03" +#define RUBY_RELEASE_DATE "2007-03-04" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20070303 +#define RUBY_RELEASE_CODE 20070304 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 3 +#define RUBY_RELEASE_DAY 4 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[];