mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
* include/ruby/oniguruma.h (OnigEncodingTypeST): add end argument for
left_adjust_char_head. (ONIGENC_LEFT_ADJUST_CHAR_HEAD): add end argument. (onigenc_get_left_adjust_char_head): ditto. * include/ruby/encoding.h (rb_enc_left_char_head): add end argument. * regenc.h (onigenc_single_byte_left_adjust_char_head): ditto. * regenc.c (onigenc_get_right_adjust_char_head): follow the interface change. (onigenc_get_right_adjust_char_head_with_prev): ditto. (onigenc_get_prev_char_head): ditto. (onigenc_step_back): ditto. (onigenc_get_left_adjust_char_head): ditto. (onigenc_single_byte_code_to_mbc): ditto. * re.c: ditto. * string.c: ditto. * io.c: ditto. * regexec.c: ditto. * enc/euc_jp.c: ditto. * enc/cp949.c: ditto. * enc/shift_jis.c: ditto. * enc/gbk.c: ditto. * enc/big5.c: ditto. * enc/euc_tw.c: ditto. * enc/euc_kr.c: ditto. * enc/emacs_mule.c: ditto. * enc/gb18030.c: ditto. * enc/utf_8.c: ditto. * enc/utf_16le.c: ditto. * enc/utf_16be.c: ditto. * enc/utf_32le.c: ditto. * enc/utf_32be.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
10ff0f292e
commit
19416601a0
23 changed files with 110 additions and 52 deletions
14
regexec.c
14
regexec.c
|
@ -2843,7 +2843,7 @@ slow_search_backward(OnigEncoding enc, UChar* target, UChar* target_end,
|
|||
if (s > text_start)
|
||||
s = (UChar* )text_start;
|
||||
else
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s);
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s, text_end);
|
||||
|
||||
while (s >= text) {
|
||||
if (*s == *target) {
|
||||
|
@ -2876,7 +2876,7 @@ slow_search_backward_ic(OnigEncoding enc, int case_fold_flag,
|
|||
if (s > text_start)
|
||||
s = (UChar* )text_start;
|
||||
else
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s);
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s, text_end);
|
||||
|
||||
while (s >= text) {
|
||||
if (str_lower_case_match(enc, case_fold_flag,
|
||||
|
@ -3018,7 +3018,7 @@ bm_search_backward(regex_t* reg, const UChar* target, const UChar* target_end,
|
|||
if (text_start < s)
|
||||
s = text_start;
|
||||
else
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s);
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s, text_end);
|
||||
|
||||
while (s >= text) {
|
||||
p = s;
|
||||
|
@ -3030,7 +3030,7 @@ bm_search_backward(regex_t* reg, const UChar* target, const UChar* target_end,
|
|||
return (UChar* )s;
|
||||
|
||||
s -= reg->int_map_backward[*s];
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s);
|
||||
s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s, text_end);
|
||||
}
|
||||
|
||||
return (UChar* )NULL;
|
||||
|
@ -3523,7 +3523,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end,
|
|||
}
|
||||
if ((OnigDistance )(max_semi_end - start) < reg->anchor_dmin) {
|
||||
start = max_semi_end - reg->anchor_dmin;
|
||||
start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, start);
|
||||
start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, start, end);
|
||||
}
|
||||
if (range > start) goto mismatch_no_msa;
|
||||
}
|
||||
|
@ -3670,7 +3670,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end,
|
|||
UChar *low, *high, *adjrange, *sch_start;
|
||||
|
||||
if (range < end)
|
||||
adjrange = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, range);
|
||||
adjrange = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, range, end);
|
||||
else
|
||||
adjrange = (UChar* )end;
|
||||
|
||||
|
@ -3706,7 +3706,7 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end,
|
|||
if (sch_start > end) sch_start = (UChar* )end;
|
||||
else
|
||||
sch_start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc,
|
||||
start, sch_start);
|
||||
start, sch_start, end);
|
||||
}
|
||||
}
|
||||
if (backward_search_range(reg, str, end, sch_start, range, adjrange,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue