aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-03-04 14:38:02 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-03-04 14:38:02 +0000
commit9b7ecc68a9e869143367556dba35f7368839ab32 (patch)
treed200ec41386e1499edba7a069e09989a880f87cf
parent35fadee53d443e362cde1d429dd6d8c66a535132 (diff)
downloadruby-9b7ecc68a9e869143367556dba35f7368839ab32.tar.gz
* 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
-rw-r--r--ChangeLog7
-rw-r--r--file.c13
-rw-r--r--lib/fileutils.rb2
-rw-r--r--version.h6
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 <nobu@ruby-lang.org>
+
+ * 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 <eban@ruby-lang.org>
* 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[];