summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-06 16:26:05 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-06 16:26:05 +0000
commitc7144179bbd4a8349bee677e2d9c89b1df52f445 (patch)
treed7ef2d1952c1bed2ffa1f24978aca1da1ce6e90d
parentbf4626ed723a122c43a9edf73d68873ed4ca56d5 (diff)
* io.c (rb_open_file, rb_io_s_sysopen): fmode should be unsigned int.
fixed [ruby-dev:34979] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--io.c10
-rw-r--r--version.h6
3 files changed, 14 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 62225e3b4d..a5ee7ee756 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jun 7 01:23:59 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * io.c (rb_open_file, rb_io_s_sysopen): fmode should be unsigned int.
+ fixed [ruby-dev:34979]
+
Fri Jun 6 23:46:19 2008 Koichi Sasada <ko1@atdot.net>
* vm_insnhelper.c (vm_callee_setup_arg): check simple flag before
diff --git a/io.c b/io.c
index 88979332ef..625766be6a 100644
--- a/io.c
+++ b/io.c
@@ -4017,7 +4017,8 @@ rb_open_file(int argc, VALUE *argv, VALUE io)
{
VALUE fname, vmode, perm;
const char *mode;
- int flags, fmode;
+ int flags;
+ unsigned int fmode;
rb_scan_args(argc, argv, "12", &fname, &vmode, &perm);
FilePathValue(fname);
@@ -4030,7 +4031,7 @@ rb_open_file(int argc, VALUE *argv, VALUE io)
SafeStringValue(vmode);
flags = rb_io_mode_modenum(StringValueCStr(vmode));
}
- fmode = NIL_P(perm) ? 0666 : NUM2INT(perm);
+ fmode = NIL_P(perm) ? 0666 : NUM2UINT(perm);
rb_file_sysopen_internal(io, RSTRING_PTR(fname), flags, fmode);
}
@@ -4082,7 +4083,8 @@ static VALUE
rb_io_s_sysopen(int argc, VALUE *argv)
{
VALUE fname, vmode, perm;
- int flags, fmode, fd;
+ int flags, fd;
+ unsigned int fmode;
char *path;
rb_scan_args(argc, argv, "12", &fname, &vmode, &perm);
@@ -4095,7 +4097,7 @@ rb_io_s_sysopen(int argc, VALUE *argv)
flags = rb_io_mode_modenum(StringValueCStr(vmode));
}
if (NIL_P(perm)) fmode = 0666;
- else fmode = NUM2INT(perm);
+ else fmode = NUM2UINT(perm);
RB_GC_GUARD(fname) = rb_str_new4(fname);
path = RSTRING_PTR(fname);
diff --git a/version.h b/version.h
index a591007fb9..aec5fe1bc2 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2008-06-06"
+#define RUBY_RELEASE_DATE "2008-06-07"
#define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20080606
+#define RUBY_RELEASE_CODE 20080607
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 6
+#define RUBY_RELEASE_DAY 7
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];