From ab24f2b07729dc022cd954355d6797b48f1b1552 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 12 May 2008 06:09:53 +0000 Subject: * re.c (rb_reg_prepare_re): made non static with small refactoring. * ext/strscan/strscan.c (strscan_do_scan): should adjust encoding before regex searching. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- re.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 're.c') diff --git a/re.c b/re.c index 1f473817aa..b8b1588dd9 100644 --- a/re.c +++ b/re.c @@ -1181,8 +1181,8 @@ rb_reg_prepare_enc(VALUE re, VALUE str, int warn) return RREGEXP(re)->ptr->enc; } -static regex_t * -rb_reg_prepare_re(VALUE re, rb_encoding *enc) +regex_t * +rb_reg_prepare_re(VALUE re, VALUE str) { regex_t *reg = RREGEXP(re)->ptr; onig_errmsg_buffer err = ""; @@ -1191,6 +1191,7 @@ rb_reg_prepare_re(VALUE re, rb_encoding *enc) const char *pattern; VALUE unescaped; rb_encoding *fixed_enc = 0; + rb_encoding *enc = rb_reg_prepare_enc(re, str, 1); if (reg->enc == enc) return reg; @@ -1265,7 +1266,7 @@ rb_reg_search(VALUE re, VALUE str, int pos, int reverse) return -1; } - reg = rb_reg_prepare_re(re, rb_reg_prepare_enc(re, str, 1)); + reg = rb_reg_prepare_re(re, str); FL_SET(re, REG_BUSY); if (!reverse) { -- cgit v1.2.3