diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-11-04 08:39:57 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-11-04 08:39:57 +0000 |
commit | fbf1b1ead9323a7f5909f483c137c46f65d3f68c (patch) | |
tree | 9976842c343a888dc34f5cc53ecedc5abb358669 /re.c | |
parent | 9868574ae43c0fdc49a9d3fc0431bb0613507bfa (diff) | |
download | ruby-fbf1b1ead9323a7f5909f483c137c46f65d3f68c.tar.gz ruby-fbf1b1ead9323a7f5909f483c137c46f65d3f68c.tar.xz ruby-fbf1b1ead9323a7f5909f483c137c46f65d3f68c.zip |
19991104
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -182,6 +182,21 @@ kcode_reset_option() } } +int +rb_mbclen2(c, re) + unsigned char c; + VALUE re; +{ + int len; + + if (!FL_TEST(re, KCODE_FIXED)) + return mbclen(c); + kcode_set_option(re); + len = mbclen(c); + kcode_reset_option(); + return len; +} + extern int ruby_in_compile; static void @@ -538,6 +553,7 @@ rb_reg_search(reg, str, pos, reverse) } result = re_search(RREGEXP(reg)->ptr,RSTRING(str)->ptr,RSTRING(str)->len, pos, range, regs); + if (FL_TEST(reg, KCODE_FIXED)) kcode_reset_option(); |