[前][次][番号順一覧][スレッド一覧]

ruby-changes:5610

From: shyouhei <ko1@a...>
Date: Fri, 13 Jun 2008 11:49:44 +0900 (JST)
Subject: [ruby-changes:5610] Ruby:r17116 (ruby_1_8_5): merge revision(s) 15287:

shyouhei	2008-06-13 11:49:28 +0900 (Fri, 13 Jun 2008)

  New Revision: 17116

  Modified files:
    branches/ruby_1_8_5/ChangeLog
    branches/ruby_1_8_5/io.c
    branches/ruby_1_8_5/version.h

  Log:
    merge revision(s) 15287:
    * io.c (rb_open_file): should check NUL in path.
      <http://www.rubyist.net/~matz/20080125.html#c01>.
    * io.c (rb_io_s_popen): ditto.
    * io.c (rb_io_reopen): ditto.
    * io.c (next_argv): ditto.
    * io.c (rb_io_s_foreach): ditto.
    * io.c (rb_io_s_readlines): ditto.
    * io.c (rb_io_s_read): ditto.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_5/io.c?r1=17116&r2=17115&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_5/version.h?r1=17116&r2=17115&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_5/ChangeLog?r1=17116&r2=17115&diff_format=u

Index: ruby_1_8_5/ChangeLog
===================================================================
--- ruby_1_8_5/ChangeLog	(revision 17115)
+++ ruby_1_8_5/ChangeLog	(revision 17116)
@@ -1,3 +1,26 @@
+Fri Jun 13 11:42:52 2008  Yukihiro Matsumoto  <matz@r...>
+
+Sun Jan 27 03:48:07 2008  Yukihiro Matsumoto  <matz@r...>
+
+Sun Jan 27 03:47:51 2008  Yukihiro Matsumoto  <matz@r...>
+
+Mon Jan 28 01:21:15 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* io.c (rb_open_file): should check NUL in path.
+	  <http://www.rubyist.net/~matz/20080125.html#c01>.
+
+	* io.c (rb_io_s_popen): ditto.
+
+	* io.c (rb_io_reopen): ditto.
+
+	* io.c (next_argv): ditto.
+
+	* io.c (rb_io_s_foreach): ditto.
+
+	* io.c (rb_io_s_readlines): ditto.
+
+	* io.c (rb_io_s_read): ditto.
+
 Wed Jun 11 15:06:00 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/uri/generic.rb (URI::Generic::inspect): use Kernel#to_s instead
Index: ruby_1_8_5/version.h
===================================================================
--- ruby_1_8_5/version.h	(revision 17115)
+++ ruby_1_8_5/version.h	(revision 17116)
@@ -1,15 +1,15 @@
 #define RUBY_VERSION "1.8.5"
-#define RUBY_RELEASE_DATE "2008-06-11"
+#define RUBY_RELEASE_DATE "2008-06-13"
 #define RUBY_VERSION_CODE 185
-#define RUBY_RELEASE_CODE 20080611
-#define RUBY_PATCHLEVEL 168
+#define RUBY_RELEASE_CODE 20080613
+#define RUBY_PATCHLEVEL 169
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
 #define RUBY_VERSION_TEENY 5
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 6
-#define RUBY_RELEASE_DAY 11
+#define RUBY_RELEASE_DAY 13
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8_5/io.c
===================================================================
--- ruby_1_8_5/io.c	(revision 17115)
+++ ruby_1_8_5/io.c	(revision 17116)
@@ -3256,7 +3256,7 @@
 	mode = rb_io_modenum_mode(FIX2INT(pmode));
     }
     else {
-	mode = rb_io_flags_mode(rb_io_mode_flags(StringValuePtr(pmode)));
+	mode = rb_io_flags_mode(rb_io_mode_flags(StringValueCStr(pmode)));
     }
     SafeStringValue(pname);
     port = pipe_open(pname, 0, mode);
@@ -3284,12 +3284,13 @@
     VALUE io;
 {
     VALUE fname, vmode, perm;
-    char *mode;
+    char *path, *mode;
     int flags, fmode;
 
     rb_scan_args(argc, argv, "12", &fname, &vmode, &perm);
     SafeStringValue(fname);
 
+    path = StringValueCStr(fname);
     if (FIXNUM_P(vmode) || !NIL_P(perm)) {
 	if (FIXNUM_P(vmode)) {
 	    flags = FIX2INT(vmode);
@@ -3300,11 +3301,11 @@
 	}
 	fmode = NIL_P(perm) ? 0666 :  NUM2INT(perm);
 
-	rb_file_sysopen_internal(io, RSTRING(fname)->ptr, flags, fmode);
+	rb_file_sysopen_internal(io, path, flags, fmode);
     }
     else {
-	mode = NIL_P(vmode) ? "r" : StringValuePtr(vmode);
-	rb_file_open_internal(io, RSTRING(fname)->ptr, mode);
+	mode = NIL_P(vmode) ? "r" : StringValueCStr(vmode);
+	rb_file_open_internal(io, path, mode);
     }
     return io;
 }
@@ -3657,7 +3658,7 @@
     }
 
     if (!NIL_P(nmode)) {
-	fptr->mode = rb_io_mode_flags(StringValuePtr(nmode));
+	fptr->mode = rb_io_mode_flags(StringValueCStr(nmode));
     }
 
     if (fptr->path) {
@@ -3665,7 +3666,7 @@
 	fptr->path = 0;
     }
 
-    fptr->path = strdup(RSTRING(fname)->ptr);
+    fptr->path = strdup(StringValueCStr(fname));
     mode = rb_io_flags_mode(fptr->mode);
     if (!fptr->f) {
 	fptr->f = rb_fopen(fptr->path, mode);
@@ -3676,16 +3677,16 @@
 	return file;
     }
 
-    if (freopen(RSTRING(fname)->ptr, mode, fptr->f) == 0) {
+    if (freopen(fptr->path, mode, fptr->f) == 0) {
 	rb_sys_fail(fptr->path);
     }
 #ifdef USE_SETVBUF
     if (setvbuf(fptr->f, NULL, _IOFBF, 0) != 0)
-	rb_warn("setvbuf() can't be honoured for %s", RSTRING(fname)->ptr);
+	rb_warn("setvbuf() can't be honoured for %s", fptr->path);
 #endif
 
     if (fptr->f2) {
-	if (freopen(RSTRING(fname)->ptr, "w", fptr->f2) == 0) {
+	if (freopen(fptr->path, "w", fptr->f2) == 0) {
 	    rb_sys_fail(fptr->path);
 	}
     }
@@ -4234,7 +4235,7 @@
 	}
 	else {
 	    SafeStringValue(mode);
-	    flags = rb_io_mode_modenum(RSTRING(mode)->ptr);
+	    flags = rb_io_mode_modenum(StringValueCStr(mode));
 	}
     }
     else {
@@ -4404,7 +4405,7 @@
       retry:
 	if (RARRAY(rb_argv)->len > 0) {
 	    filename = rb_ary_shift(rb_argv);
-	    fn = StringValuePtr(filename);
+	    fn = StringValueCStr(filename);
 	    if (strlen(fn) == 1 && fn[0] == '-') {
 		current_file = rb_stdin;
 		if (ruby_inplace_mode) {
@@ -5065,7 +5066,7 @@
 	if (!NIL_P(v)) {
 	    StringValue(v);
 	    rb_str_modify(v);
-	    arg[i] = (unsigned long)RSTRING(v)->ptr;
+	    arg[i] = (unsigned long)StringValueCStr(v);
 	}
 	else {
 	    arg[i] = (unsigned long)NUM2LONG(*argv);
@@ -5273,7 +5274,7 @@
     else if (!NIL_P(arg.sep)) {
 	StringValue(arg.sep);
     }
-    arg.io = rb_io_open(RSTRING(fname)->ptr, "r");
+    arg.io = rb_io_open(StringValueCStr(fname), "r");
     if (NIL_P(arg.io)) return Qnil;
 
     return rb_ensure(io_s_foreach, (VALUE)&arg, rb_io_close, arg.io);
@@ -5312,7 +5313,7 @@
     SafeStringValue(fname);
 
     arg.argc = argc - 1;
-    arg.io = rb_io_open(RSTRING(fname)->ptr, "r");
+    arg.io = rb_io_open(StringValueCStr(fname), "r");
     if (NIL_P(arg.io)) return Qnil;
     return rb_ensure(io_s_readlines, (VALUE)&arg, rb_io_close, arg.io);
 }
@@ -5350,7 +5351,7 @@
     SafeStringValue(fname);
 
     arg.argc = argc ? 1 : 0;
-    arg.io = rb_io_open(RSTRING(fname)->ptr, "r");
+    arg.io = rb_io_open(StringValueCStr(fname), "r");
     if (NIL_P(arg.io)) return Qnil;
     if (!NIL_P(offset)) {
 	rb_io_seek(arg.io, offset, SEEK_SET);
@@ -5626,7 +5627,7 @@
     StringValue(val);
     if (ruby_inplace_mode) free(ruby_inplace_mode);
     ruby_inplace_mode = 0;
-    ruby_inplace_mode = strdup(RSTRING(val)->ptr);
+    ruby_inplace_mode = strdup(StringValueCStr(val));
 }
 
 /*

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]