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

ruby-changes:6077

From: nobu <ko1@a...>
Date: Fri, 27 Jun 2008 00:01:00 +0900 (JST)
Subject: [ruby-changes:6077] Ruby:r17586 (ruby_1_8, trunk, mvm): * ruby.c (set_arg0, ruby_prog_init): freeze $0. a patch from Keita

nobu	2008-06-27 00:00:16 +0900 (Fri, 27 Jun 2008)

  New Revision: 17586

  Modified files:
    branches/mvm/ChangeLog
    branches/mvm/ruby.c
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/ruby.c
    trunk/ChangeLog
    trunk/ruby.c

  Log:
    * ruby.c (set_arg0, ruby_prog_init): freeze $0.  a patch from Keita
      Yamaguchi <keita.yamaguchi at gmail.com>.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=17586&r2=17585&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ruby.c?r1=17586&r2=17585&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=17586&r2=17585&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/mvm/ChangeLog?r1=17586&r2=17585&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/mvm/ruby.c?r1=17586&r2=17585&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ruby.c?r1=17586&r2=17585&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 17585)
+++ ChangeLog	(revision 17586)
@@ -1,3 +1,8 @@
+Fri Jun 27 00:00:14 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* ruby.c (set_arg0, ruby_prog_init): freeze $0.  a patch from Keita
+	  Yamaguchi <keita.yamaguchi at gmail.com>.
+
 Thu Jun 26 23:58:29 2008  Yusuke Endoh  <mame@t...>
 
 	* string.c (rb_str_index_m, rb_str_rindex_m, rb_str_include): fix
Index: ruby.c
===================================================================
--- ruby.c	(revision 17585)
+++ ruby.c	(revision 17586)
@@ -1397,14 +1397,14 @@
 	}
     }
 #endif
-    rb_progname = rb_tainted_str_new(s, i);
+    rb_progname = rb_obj_freeze(rb_tainted_str_new(s, i));
 }
 
 void
 ruby_script(const char *name)
 {
     if (name) {
-	rb_progname = rb_tainted_str_new2(name);
+	rb_progname = rb_obj_freeze(rb_tainted_str_new2(name));
     }
 }
 
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 17585)
+++ ruby_1_8/ChangeLog	(revision 17586)
@@ -1,3 +1,8 @@
+Fri Jun 27 00:00:14 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* ruby.c (set_arg0, ruby_prog_init): freeze $0.  a patch from Keita
+	  Yamaguchi <keita.yamaguchi at gmail.com>.
+
 Thu Jun 26 22:07:54 2008  Tanaka Akira  <akr@f...>
 
 	* process.c: include sys/resource.h if HAVE_SYS_RESOURCE_H is defined.
Index: ruby_1_8/ruby.c
===================================================================
--- ruby_1_8/ruby.c	(revision 17585)
+++ ruby_1_8/ruby.c	(revision 17586)
@@ -1044,6 +1044,7 @@
     VALUE val;
     ID id;
 {
+    VALUE progname;
     char *s;
     long i;
 #if !defined(PSTAT_SETCMD) && !defined(HAVE_SETPROCTITLE)
@@ -1068,10 +1069,10 @@
 	j.pst_command = s;
 	pstat(PSTAT_SETCMD, j, i, 0, 0);
     }
-    rb_progname = rb_tainted_str_new(s, i);
+    progname = rb_tainted_str_new(s, i);
 #elif defined(HAVE_SETPROCTITLE)
     setproctitle("%.*s", (int)i, s);
-    rb_progname = rb_tainted_str_new(s, i);
+    progname = rb_tainted_str_new(s, i);
 #else
     if (len == 0) {
 	char *s = origargv[0];
@@ -1106,8 +1107,9 @@
     if (++i < len) memset(s + 1, ' ', len - i);
     for (i = 1; i < origargc; i++)
 	origargv[i] = s;
-    rb_progname = rb_tainted_str_new2(origargv[0]);
+    progname = rb_tainted_str_new2(origargv[0]);
 #endif
+    rb_progname = rb_obj_freeze(progname);
 }
 
 void
@@ -1115,7 +1117,7 @@
     const char *name;
 {
     if (name) {
-	rb_progname = rb_tainted_str_new2(name);
+	rb_progname = rb_obj_freeze(rb_tainted_str_new2(name));
 	ruby_sourcefile = rb_source_filename(name);
     }
 }
Index: mvm/ChangeLog
===================================================================
--- mvm/ChangeLog	(revision 17585)
+++ mvm/ChangeLog	(revision 17586)
@@ -1,3 +1,8 @@
+Fri Jun 27 00:00:14 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* ruby.c (set_arg0, ruby_prog_init): freeze $0.  a patch from Keita
+	  Yamaguchi <keita.yamaguchi at gmail.com>.
+
 Thu Jun 26 17:43:41 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* variable.c (rb_f_trace_var): should not be allowed at safe level 4.  
Index: mvm/ruby.c
===================================================================
--- mvm/ruby.c	(revision 17585)
+++ mvm/ruby.c	(revision 17586)
@@ -1396,7 +1396,7 @@
 	}
     }
 #endif
-    *var = rb_tainted_str_new(s, i);
+    *var = rb_obj_freeze(rb_tainted_str_new(s, i));
 }
 
 DEPRECATED(void ruby_script(const char *name));
@@ -1404,7 +1404,7 @@
 ruby_script(const char *name)
 {
     if (name) {
-	GET_VM()->progname = rb_tainted_str_new2(name);
+	GET_VM()->progname = rb_obj_freeze(rb_tainted_str_new2(name));
     }
 }
 

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

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