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/