aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-19 15:25:49 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-19 15:25:49 +0000
commit60a7b3a935ebb02703a80f4aa8888d3ac3fcfc98 (patch)
treeb0fede55239d29ee869f1acf58ea9744aa762719 /eval.c
parentdb00c782f4d477e04217b8da9782d9fe3c515675 (diff)
downloadruby-60a7b3a935ebb02703a80f4aa8888d3ac3fcfc98.tar.gz
* eval.c (search_required): required name must not be changed before
loading. [ruby-dev:24492] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/eval.c b/eval.c
index 220af68294..81d380eb84 100644
--- a/eval.c
+++ b/eval.c
@@ -6678,7 +6678,7 @@ search_required(fname, featurep, path)
char *ext, *ftptr;
int type;
- *featurep = fname;
+ *featurep = fname = rb_str_new4(fname);
*path = 0;
ext = strrchr(ftptr = RSTRING(fname)->ptr, '.');
if (ext && !strchr(ext, '/')) {
@@ -6777,10 +6777,6 @@ rb_require_safe(fname, safe)
/* partial state */
ftptr = ruby_strdup(RSTRING(feature)->ptr);
st_insert(loading_tbl, (st_data_t)ftptr, (st_data_t)curr_thread);
- if (feature == fname && !OBJ_FROZEN(feature)) {
- feature = rb_str_dup(feature);
- OBJ_FREEZE(feature);
- }
rb_load(path, 0);
break;