diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-26 21:01:52 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-26 21:01:52 +0000 |
commit | b9c18bdcddcc1ab6dc08988436d99d61eb8f3d7f (patch) | |
tree | 487c2de08190f7548d631b09b42aecc4c1239a15 /re.c | |
parent | e7bf1bd4d4a3296d7ce7ed92d7258129a1fffb91 (diff) |
* re.c (rb_reg_preprocess): force fixed encoding when ASCII
incompatible source string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1908,7 +1908,13 @@ rb_reg_preprocess(const char *p, const char *end, rb_encoding *enc, buf = rb_str_buf_new(0); - *fixed_enc = 0; + if (rb_enc_asciicompat(enc)) + *fixed_enc = 0; + else { + *fixed_enc = enc; + rb_enc_associate(buf, enc); + } + if (unescape_nonascii(p, end, enc, buf, fixed_enc, err) != 0) return Qnil; |