diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-06 16:26:05 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-06 16:26:05 +0000 |
commit | c7144179bbd4a8349bee677e2d9c89b1df52f445 (patch) | |
tree | d7ef2d1952c1bed2ffa1f24978aca1da1ce6e90d | |
parent | bf4626ed723a122c43a9edf73d68873ed4ca56d5 (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-- | ChangeLog | 5 | ||||
-rw-r--r-- | io.c | 10 | ||||
-rw-r--r-- | version.h | 6 |
3 files changed, 14 insertions, 7 deletions
@@ -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 @@ -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); @@ -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[]; |