summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-23 02:52:23 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-23 02:52:23 +0000
commite2418c39bd9d95ce4a177caed5fb5f20bd0f940c (patch)
treef046708900eef8de1cc0e150ed3244f62c37bc0f /ruby.c
parent01606c71de71d1b1553f97ec033b22a982e3e0ec (diff)
ruby.c: reduce RARRAY_PTR_USE region
* ruby.c (process_options): reduce RARRAY_PTR_USE region, make the path to be set before entering the region. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ruby.c b/ruby.c
index 7718461..d0130ec 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1381,8 +1381,9 @@ process_options(int argc, char **argv, struct cmdline_options *opt)
long i;
VALUE load_path = GET_VM()->load_path;
for (i = 0; i < RARRAY_LEN(load_path); ++i) {
- RARRAY_ASET(load_path, i,
- rb_enc_associate(rb_str_dup(RARRAY_AREF(load_path, i)), lenc));
+ VALUE path = RARRAY_AREF(load_path, i);
+ path = rb_enc_associate(rb_str_dup(path), lenc);
+ RARRAY_ASET(load_path, i, path);
}
}
Init_ext(); /* load statically linked extensions before rubygems */