summaryrefslogtreecommitdiff
path: root/re.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-08 01:53:35 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-08 01:53:35 +0000
commit1dcbd6921e21e7188dc24cdf37c9b5c07269c062 (patch)
tree74042ac63ba41cb9e4e582d422d805bc98dc8ad6 /re.c
parent502e19fd10f08898d76f31f43b3f332a3f05e1a2 (diff)
* re.c (rb_reg_quote): should always copy the quoting string.
[ruby-core:16235] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r--re.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/re.c b/re.c
index 3f115cd04b..f0776a1fe8 100644
--- a/re.c
+++ b/re.c
@@ -2759,11 +2759,11 @@ rb_reg_quote(VALUE str)
}
s += clen;
}
+ tmp = rb_str_new3(str);
if (ascii_only) {
- str = rb_str_new3(str);
- rb_enc_associate(str, rb_usascii_encoding());
+ rb_enc_associate(tmp, rb_usascii_encoding());
}
- return str;
+ return tmp;
meta_found:
tmp = rb_str_new(0, RSTRING_LEN(str)*2);