diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-09-18 06:33:03 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-09-18 06:33:03 +0000 |
commit | 6bf30a90ef7b7795b6259a523816c1f28267722d (patch) | |
tree | 039a36cde0c3f5c74525a2539f56798e7b2a5bb6 /re.c | |
parent | 3851ac03b597c9ab90783cdc60937c95d8792f0e (diff) | |
download | ruby-6bf30a90ef7b7795b6259a523816c1f28267722d.tar.gz |
* dir.c (dir_s_glob): restore GC protection volatile variable.
[ruby-dev:29588]
* re.c (rb_reg_regcomp): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1508,6 +1508,7 @@ static VALUE reg_cache; VALUE rb_reg_regcomp(VALUE str) { + volatile VALUE save_str = str; if (reg_cache && RREGEXP(reg_cache)->len == RSTRING_LEN(str) && case_cache == ruby_ignorecase && kcode_cache == reg_kcode @@ -1516,7 +1517,7 @@ rb_reg_regcomp(VALUE str) case_cache = ruby_ignorecase; kcode_cache = reg_kcode; - return reg_cache = rb_reg_new(RSTRING_PTR(str), RSTRING_LEN(str), + return reg_cache = rb_reg_new(RSTRING_PTR(save_str), RSTRING_LEN(save_str), ruby_ignorecase); } |