From 653fbad62809d98e01a9bf70e7c6f69fbbc5b524 Mon Sep 17 00:00:00 2001 From: ksaito Date: Tue, 27 Apr 2004 15:53:16 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r6225, which included commits to RCS files with non-trunk default branches. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- regcomp.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) (limited to 'regcomp.c') diff --git a/regcomp.c b/regcomp.c index 24d44dd1b8..de44cfe037 100644 --- a/regcomp.c +++ b/regcomp.c @@ -3021,7 +3021,7 @@ setup_tree(Node* node, regex_t* reg, int state, ScanEnv* env) NSTRING_SET_CASE_AMBIG(node); break; } - p++; + p += enc_len(reg->enc, *p); } } break; @@ -3950,22 +3950,17 @@ optimize_node_left(Node* node, NodeOptInfo* opt, OptEnv* env) } } - if (IS_NULL(cc->mbuf)) { - if (cc->not) { - for (i = 0; i < SINGLE_BYTE_SIZE; i++) { - add_char_opt_map_info(&opt->map, i); - } - mb_found = 1; - } - } - else { - for (i = 0; i < SINGLE_BYTE_SIZE; i++) { - z = ONIGENC_IS_MBC_HEAD(env->enc, i); - if (z) { - mb_found = 1; - add_char_opt_map_info(&opt->map, i); - } - } + if (! ONIGENC_IS_SINGLEBYTE(env->enc)) { + if (! IS_NULL(cc->mbuf) || + (cc->not != 0 && found != 0)) { + for (i = 0; i < SINGLE_BYTE_SIZE; i++) { + z = ONIGENC_IS_MBC_HEAD(env->enc, i); + if (z) { + mb_found = 1; + add_char_opt_map_info(&opt->map, i); + } + } + } } if (mb_found) { -- cgit v1.2.3