summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--io.c10
-rw-r--r--version.h8
3 files changed, 15 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index c84658157d..1b016d0ace 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 9 03:20:12 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 21:16:55 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/Makefile.sub (COMMON_HEADERS): include ws2tcpip.h.
diff --git a/io.c b/io.c
index 50f4756ba3..7663733d1e 100644
--- a/io.c
+++ b/io.c
@@ -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);
diff --git a/version.h b/version.h
index 4c4b634195..eb452d8d30 100644
--- a/version.h
+++ b/version.h
@@ -1,15 +1,15 @@
#define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2008-06-06"
+#define RUBY_RELEASE_DATE "2008-06-09"
#define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20080606
-#define RUBY_PATCHLEVEL 10
+#define RUBY_RELEASE_CODE 20080609
+#define RUBY_PATCHLEVEL 11
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8
#define RUBY_VERSION_TEENY 7
#define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 6
+#define RUBY_RELEASE_DAY 9
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];