diff options
-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:50:23 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 20:58:25 2008 NAKAMURA Usaku <usa@ruby-lang.org> * win32/Makefile.sub (COMMON_HEADERS): include ws2tcpip.h. @@ -3396,7 +3396,8 @@ rb_open_file(argc, argv, io) { VALUE fname, vmode, perm; const char *path, *mode; - int flags, fmode; + int flags; + unsigned int fmode; rb_scan_args(argc, argv, "12", &fname, &vmode, &perm); SafeStringValue(fname); @@ -3410,7 +3411,7 @@ rb_open_file(argc, argv, io) SafeStringValue(vmode); flags = rb_io_mode_modenum(RSTRING(vmode)->ptr); } - fmode = NIL_P(perm) ? 0666 : NUM2INT(perm); + fmode = NIL_P(perm) ? 0666 : NUM2UINT(perm); rb_file_sysopen_internal(io, path, flags, fmode); } @@ -3466,7 +3467,8 @@ rb_io_s_sysopen(argc, argv) 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); @@ -3479,7 +3481,7 @@ rb_io_s_sysopen(argc, argv) flags = rb_io_mode_modenum(RSTRING(vmode)->ptr); } if (NIL_P(perm)) fmode = 0666; - else fmode = NUM2INT(perm); + else fmode = NUM2UINT(perm); path = ALLOCA_N(char, strlen(RSTRING(fname)->ptr)+1); strcpy(path, RSTRING(fname)->ptr); @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2008-06-06" +#define RUBY_RELEASE_DATE "2008-06-07" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20080606 +#define RUBY_RELEASE_CODE 20080607 #define RUBY_PATCHLEVEL 5000 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 7 #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[]; |