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

ruby-changes:16841

From: nobu <ko1@a...>
Date: Mon, 2 Aug 2010 21:51:33 +0900 (JST)
Subject: [ruby-changes:16841] Ruby:r28836 (trunk): * ruby.c (ruby_init_loadpath_safe): rb_str_set_len modifies ptr

nobu	2010-08-02 21:51:18 +0900 (Mon, 02 Aug 2010)

  New Revision: 28836

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28836

  Log:
    * ruby.c (ruby_init_loadpath_safe): rb_str_set_len modifies ptr
      since r26303.

  Modified files:
    trunk/ChangeLog
    trunk/ruby.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 28835)
+++ ChangeLog	(revision 28836)
@@ -1,3 +1,8 @@
+Mon Aug  2 21:51:16 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* ruby.c (ruby_init_loadpath_safe): rb_str_set_len modifies ptr
+	  since r26303.
+
 Mon Aug  2 21:16:03 2010  Masaki Suketa <masaki.suketa@n...>
 
 	* ext/win32ole/win32ole.c: NONAMELESSUNION defined only if gcc
Index: ruby.c
===================================================================
--- ruby.c	(revision 28835)
+++ ruby.c	(revision 28836)
@@ -422,13 +422,15 @@
 	strlcpy(libpath, ".", sizeof(libpath));
 	p = libpath + 1;
     }
+    baselen = p - libpath;
 #define PREFIX_PATH() rb_str_new(libpath, baselen)
 #else
-    rb_str_set_len(sopath, p - libpath);
+    baselen = p - libpath;
+    rb_str_set_len(sopath, baselen);
+    libpath = RSTRING_PTR(sopath);
 #define PREFIX_PATH() sopath
 #endif
 
-    baselen = p - libpath;
 #define BASEPATH() rb_str_buf_cat(rb_str_buf_new(baselen+len), libpath, baselen)
 
 #define RUBY_RELATIVE(path, len) rb_str_buf_cat(BASEPATH(), path, len)

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

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