Lines Matching refs:reg

841 #define STACK_NULL_CHECK_MEMST(isnull,id,s,reg) do {\  argument
860 if (BIT_STATUS_AT(reg->bt_mem_end, k->u.mem.num))\
880 #define STACK_NULL_CHECK_MEMST_REC(isnull,id,s,reg) do {\ argument
901 if (BIT_STATUS_AT(reg->bt_mem_end, k->u.mem.num))\
1038 OnigStackType* stk_top, UChar* str, regex_t* reg) in make_capture_history_tree() argument
1048 BIT_STATUS_AT(reg->capture_history, n) != 0) { in make_capture_history_tree()
1056 r = make_capture_history_tree(child, kp, stk_top, str, reg); in make_capture_history_tree()
1090 static int backref_match_at_nested_level(regex_t* reg in backref_match_at_nested_level() argument
1119 if (string_cmp_ic(reg->enc, case_fold_flag, in backref_match_at_nested_level()
1238 match_at(regex_t* reg, const UChar* str, const UChar* end, in match_at() argument
1250 OnigOptionType option = reg->options; in match_at()
1251 OnigEncoding encode = reg->enc; in match_at()
1252 OnigCaseFoldType case_fold_flag = reg->case_fold_flag; in match_at()
1254 UChar *p = reg->p; in match_at()
1264 int num_comb_exp_check = reg->num_comb_exp_check; in match_at()
1266 n = reg->num_repeat + reg->num_mem * 2; in match_at()
1269 pop_level = reg->stack_pop_level; in match_at()
1270 num_mem = reg->num_mem; in match_at()
1273 mem_start_stk = (OnigStackIndex* )(repeat_stk + reg->num_repeat); in match_at()
1341 if (BIT_STATUS_AT(reg->bt_mem_start, i)) in match_at()
1346 rmt[i].rm_eo = (BIT_STATUS_AT(reg->bt_mem_end, i) in match_at()
1361 if (BIT_STATUS_AT(reg->bt_mem_start, i)) in match_at()
1366 region->end[i] = (BIT_STATUS_AT(reg->bt_mem_end, i) in match_at()
1376 if (reg->capture_history != 0) { in match_at()
1395 stk, (UChar* )str, reg); in match_at()
2111 if (BIT_STATUS_AT(reg->bt_mem_start, mem)) in match_at()
2145 if (BIT_STATUS_AT(reg->bt_mem_start, mem)) in match_at()
2150 pend = (BIT_STATUS_AT(reg->bt_mem_end, mem) in match_at()
2177 if (BIT_STATUS_AT(reg->bt_mem_start, mem)) in match_at()
2182 pend = (BIT_STATUS_AT(reg->bt_mem_end, mem) in match_at()
2209 if (BIT_STATUS_AT(reg->bt_mem_start, mem)) in match_at()
2214 pend = (BIT_STATUS_AT(reg->bt_mem_end, mem) in match_at()
2248 if (BIT_STATUS_AT(reg->bt_mem_start, mem)) in match_at()
2253 pend = (BIT_STATUS_AT(reg->bt_mem_end, mem) in match_at()
2287 if (backref_match_at_nested_level(reg, stk, stk_base, ic in match_at()
2367 STACK_NULL_CHECK_MEMST(isnull, mem, s, reg); in match_at()
2390 STACK_NULL_CHECK_MEMST_REC(isnull, mem, s, reg); in match_at()
2504 if (reg->repeat_range[mem].lower == 0) { in match_at()
2521 if (reg->repeat_range[mem].lower == 0) { in match_at()
2537 if (stkp->u.repeat.count >= reg->repeat_range[mem].upper) { in match_at()
2540 else if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) { in match_at()
2567 if (stkp->u.repeat.count < reg->repeat_range[mem].upper) { in match_at()
2568 if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) { in match_at()
2579 else if (stkp->u.repeat.count == reg->repeat_range[mem].upper) { in match_at()
2671 p = reg->p + addr; in match_at()
2870 bm_search_notrev(regex_t* reg, const UChar* target, const UChar* target_end, in bm_search_notrev() argument
2891 if (IS_NULL(reg->int_map)) { in bm_search_notrev()
2899 skip = reg->map[*se]; in bm_search_notrev()
2902 s += enclen(reg->enc, s); in bm_search_notrev()
2914 skip = reg->int_map[*se]; in bm_search_notrev()
2917 s += enclen(reg->enc, s); in bm_search_notrev()
2926 bm_search(regex_t* reg, const UChar* target, const UChar* target_end, in bm_search() argument
2938 if (IS_NULL(reg->int_map)) { in bm_search()
2946 s += reg->map[*s]; in bm_search()
2957 s += reg->int_map[*s]; in bm_search()
2986 bm_search_backward(regex_t* reg, const UChar* target, const UChar* target_end, in bm_search_backward() argument
2996 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s); in bm_search_backward()
3007 s -= reg->int_map_backward[*s]; in bm_search_backward()
3008 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s); in bm_search_backward()
3044 onig_match(regex_t* reg, const UChar* str, const UChar* end, const UChar* at, OnigRegion* region, in onig_match() argument
3054 if (ONIG_STATE(reg) >= ONIG_STATE_NORMAL) { in onig_match()
3055 ONIG_STATE_INC(reg); in onig_match()
3056 if (IS_NOT_NULL(reg->chain) && ONIG_STATE(reg) == ONIG_STATE_NORMAL) { in onig_match()
3057 onig_chain_reduce(reg); in onig_match()
3058 ONIG_STATE_INC(reg); in onig_match()
3066 while (ONIG_STATE(reg) < ONIG_STATE_NORMAL) { in onig_match()
3080 STATE_CHECK_BUFF_INIT(msa, end - str, offset, reg->num_comb_exp_check); in onig_match()
3089 r = onig_region_resize_clear(region, reg->num_mem + 1); in onig_match()
3095 prev = (UChar* )onigenc_get_prev_char_head(reg->enc, str, at); in onig_match()
3096 r = match_at(reg, str, end, in onig_match()
3104 ONIG_STATE_DEC_THREAD(reg); in onig_match()
3109 forward_search_range(regex_t* reg, const UChar* str, const UChar* end, UChar* s, in forward_search_range() argument
3120 if (reg->dmin > 0) { in forward_search_range()
3121 if (ONIGENC_IS_SINGLEBYTE(reg->enc)) { in forward_search_range()
3122 p += reg->dmin; in forward_search_range()
3125 UChar *q = p + reg->dmin; in forward_search_range()
3128 while (p < q) p += enclen(reg->enc, p); in forward_search_range()
3133 switch (reg->optimize) { in forward_search_range()
3135 p = slow_search(reg->enc, reg->exact, reg->exact_end, p, end, range); in forward_search_range()
3138 p = slow_search_ic(reg->enc, reg->case_fold_flag, in forward_search_range()
3139 reg->exact, reg->exact_end, p, end, range); in forward_search_range()
3143 p = bm_search(reg, reg->exact, reg->exact_end, p, end, range); in forward_search_range()
3147 p = bm_search_notrev(reg, reg->exact, reg->exact_end, p, end, range); in forward_search_range()
3151 p = map_search(reg->enc, reg->map, p, range); in forward_search_range()
3156 if (p - reg->dmin < s) { in forward_search_range()
3159 p += enclen(reg->enc, p); in forward_search_range()
3163 if (reg->sub_anchor) { in forward_search_range()
3166 switch (reg->sub_anchor) { in forward_search_range()
3169 prev = onigenc_get_prev_char_head(reg->enc, in forward_search_range()
3171 if (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) in forward_search_range()
3179 prev = (UChar* )onigenc_get_prev_char_head(reg->enc, in forward_search_range()
3181 if (prev && ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) in forward_search_range()
3185 else if (! ONIGENC_IS_MBC_NEWLINE(reg->enc, p, end) in forward_search_range()
3187 && ! ONIGENC_IS_MBC_CRNL(reg->enc, p, end) in forward_search_range()
3195 if (reg->dmax == 0) { in forward_search_range()
3199 *low_prev = onigenc_get_prev_char_head(reg->enc, s, p); in forward_search_range()
3201 *low_prev = onigenc_get_prev_char_head(reg->enc, in forward_search_range()
3206 if (reg->dmax != ONIG_INFINITE_DISTANCE) { in forward_search_range()
3207 *low = p - reg->dmax; in forward_search_range()
3208 if (p - str < reg->dmax) { in forward_search_range()
3211 *low_prev = onigenc_get_prev_char_head(reg->enc, str, *low); in forward_search_range()
3215 *low = onigenc_get_right_adjust_char_head_with_prev(reg->enc, s, in forward_search_range()
3218 *low_prev = onigenc_get_prev_char_head(reg->enc, in forward_search_range()
3223 *low_prev = onigenc_get_prev_char_head(reg->enc, in forward_search_range()
3230 *high = p - reg->dmin; in forward_search_range()
3235 (int )(*low - str), (int )(*high - str), reg->dmin, reg->dmax); in forward_search_range()
3249 backward_search_range(regex_t* reg, const UChar* str, const UChar* end, in backward_search_range() argument
3256 range += reg->dmin; in backward_search_range()
3260 switch (reg->optimize) { in backward_search_range()
3263 p = slow_search_backward(reg->enc, reg->exact, reg->exact_end, in backward_search_range()
3268 p = slow_search_backward_ic(reg->enc, reg->case_fold_flag, in backward_search_range()
3269 reg->exact, reg->exact_end, in backward_search_range()
3275 if (IS_NULL(reg->int_map_backward)) { in backward_search_range()
3279 r = set_bm_backward_skip(reg->exact, reg->exact_end, reg->enc, in backward_search_range()
3280 &(reg->int_map_backward)); in backward_search_range()
3283 p = bm_search_backward(reg, reg->exact, reg->exact_end, range, adjrange, in backward_search_range()
3288 p = map_search_backward(reg->enc, reg->map, range, adjrange, p); in backward_search_range()
3293 if (reg->sub_anchor) { in backward_search_range()
3296 switch (reg->sub_anchor) { in backward_search_range()
3299 prev = onigenc_get_prev_char_head(reg->enc, str, p); in backward_search_range()
3300 if (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) { in backward_search_range()
3310 prev = onigenc_get_prev_char_head(reg->enc, adjrange, p); in backward_search_range()
3312 if (ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end)) { in backward_search_range()
3318 else if (! ONIGENC_IS_MBC_NEWLINE(reg->enc, p, end) in backward_search_range()
3320 && ! ONIGENC_IS_MBC_CRNL(reg->enc, p, end) in backward_search_range()
3323 p = onigenc_get_prev_char_head(reg->enc, adjrange, p); in backward_search_range()
3332 if (reg->dmax != ONIG_INFINITE_DISTANCE) { in backward_search_range()
3333 *low = p - reg->dmax; in backward_search_range()
3334 *high = p - reg->dmin; in backward_search_range()
3335 *high = onigenc_get_right_adjust_char_head(reg->enc, adjrange, *high); in backward_search_range()
3354 onig_search(regex_t* reg, const UChar* str, const UChar* end, in onig_search() argument
3368 if (ONIG_STATE(reg) >= ONIG_STATE_NORMAL) { in onig_search()
3369 ONIG_STATE_INC(reg); in onig_search()
3370 if (IS_NOT_NULL(reg->chain) && ONIG_STATE(reg) == ONIG_STATE_NORMAL) { in onig_search()
3371 onig_chain_reduce(reg); in onig_search()
3372 ONIG_STATE_INC(reg); in onig_search()
3380 while (ONIG_STATE(reg) < ONIG_STATE_NORMAL) { in onig_search()
3401 r = onig_region_resize_clear(region, reg->num_mem + 1); in onig_search()
3411 r = match_at(reg, str, end, (upper_range), s, prev, &msa); \ in onig_search()
3414 if (! IS_FIND_LONGEST(reg->options)) {\ in onig_search()
3422 r = match_at(reg, str, end, (upper_range), s, prev, &msa); \ in onig_search()
3433 r = match_at(reg, str, end, s, prev, &msa);\ in onig_search()
3436 if (! IS_FIND_LONGEST(reg->options)) {\ in onig_search()
3444 r = match_at(reg, str, end, s, prev, &msa);\ in onig_search()
3456 if (reg->anchor != 0 && str < end) { in onig_search()
3459 if (reg->anchor & ANCHOR_BEGIN_POSITION) { in onig_search()
3467 else if (reg->anchor & ANCHOR_BEGIN_BUF) { in onig_search()
3482 else if (reg->anchor & ANCHOR_END_BUF) { in onig_search()
3486 if ((OnigDistance )(max_semi_end - str) < reg->anchor_dmin) in onig_search()
3490 if ((OnigDistance )(min_semi_end - start) > reg->anchor_dmax) { in onig_search()
3491 start = min_semi_end - reg->anchor_dmax; in onig_search()
3493 start = onigenc_get_right_adjust_char_head(reg->enc, str, start); in onig_search()
3495 start = onigenc_get_prev_char_head(reg->enc, str, end); in onig_search()
3498 if ((OnigDistance )(max_semi_end - (range - 1)) < reg->anchor_dmin) { in onig_search()
3499 range = max_semi_end - reg->anchor_dmin + 1; in onig_search()
3505 if ((OnigDistance )(min_semi_end - range) > reg->anchor_dmax) { in onig_search()
3506 range = min_semi_end - reg->anchor_dmax; in onig_search()
3508 if ((OnigDistance )(max_semi_end - start) < reg->anchor_dmin) { in onig_search()
3509 start = max_semi_end - reg->anchor_dmin; in onig_search()
3510 start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, start); in onig_search()
3515 else if (reg->anchor & ANCHOR_SEMI_END_BUF) { in onig_search()
3516 UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, str, end, 1); in onig_search()
3519 if (ONIGENC_IS_MBC_NEWLINE(reg->enc, pre_end, end)) { in onig_search()
3523 pre_end = ONIGENC_STEP_BACK(reg->enc, str, pre_end, 1); in onig_search()
3525 ONIGENC_IS_MBC_CRNL(reg->enc, pre_end, end)) { in onig_search()
3538 else if ((reg->anchor & ANCHOR_ANYCHAR_STAR_ML)) { in onig_search()
3549 if (reg->threshold_len == 0) { in onig_search()
3574 STATE_CHECK_BUFF_INIT(msa, end - str, offset, reg->num_comb_exp_check); in onig_search()
3581 prev = onigenc_get_prev_char_head(reg->enc, str, s); in onig_search()
3585 if (reg->optimize != ONIG_OPTIMIZE_NONE) { in onig_search()
3589 if (reg->dmax != 0) { in onig_search()
3590 if (reg->dmax == ONIG_INFINITE_DISTANCE) in onig_search()
3593 sch_range += reg->dmax; in onig_search()
3598 if ((end - start) < reg->threshold_len) in onig_search()
3601 if (reg->dmax != ONIG_INFINITE_DISTANCE) { in onig_search()
3603 if (! forward_search_range(reg, str, end, s, sch_range, in onig_search()
3612 s += enclen(reg->enc, s); in onig_search()
3618 if (! forward_search_range(reg, str, end, s, sch_range, in onig_search()
3621 if ((reg->anchor & ANCHOR_ANYCHAR_STAR) != 0) { in onig_search()
3625 s += enclen(reg->enc, s); in onig_search()
3627 while (!ONIGENC_IS_MBC_NEWLINE(reg->enc, prev, end) && s < range) { in onig_search()
3629 s += enclen(reg->enc, s); in onig_search()
3640 s += enclen(reg->enc, s); in onig_search()
3650 orig_start += enclen(reg->enc, orig_start); /* is upper range */ in onig_search()
3653 if (reg->optimize != ONIG_OPTIMIZE_NONE) { in onig_search()
3657 adjrange = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, range); in onig_search()
3661 if (reg->dmax != ONIG_INFINITE_DISTANCE && in onig_search()
3662 (end - range) >= reg->threshold_len) { in onig_search()
3664 sch_start = s + reg->dmax; in onig_search()
3666 if (backward_search_range(reg, str, end, sch_start, range, adjrange, in onig_search()
3674 prev = onigenc_get_prev_char_head(reg->enc, str, s); in onig_search()
3682 if ((end - range) < reg->threshold_len) goto mismatch; in onig_search()
3685 if (reg->dmax != 0) { in onig_search()
3686 if (reg->dmax == ONIG_INFINITE_DISTANCE) in onig_search()
3689 sch_start += reg->dmax; in onig_search()
3692 sch_start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, in onig_search()
3696 if (backward_search_range(reg, str, end, sch_start, range, adjrange, in onig_search()
3702 prev = onigenc_get_prev_char_head(reg->enc, str, s); in onig_search()
3710 if (IS_FIND_LONGEST(reg->options)) { in onig_search()
3721 ONIG_STATE_DEC_THREAD(reg); in onig_search()
3725 if (IS_FIND_NOT_EMPTY(reg->options) && region in onig_search()
3742 ONIG_STATE_DEC_THREAD(reg); in onig_search()
3750 ONIG_STATE_DEC_THREAD(reg); in onig_search()
3756 onig_get_encoding(regex_t* reg) in onig_get_encoding() argument
3758 return reg->enc; in onig_get_encoding()
3762 onig_get_options(regex_t* reg) in onig_get_options() argument
3764 return reg->options; in onig_get_options()
3768 onig_get_case_fold_flag(regex_t* reg) in onig_get_case_fold_flag() argument
3770 return reg->case_fold_flag; in onig_get_case_fold_flag()
3774 onig_get_syntax(regex_t* reg) in onig_get_syntax() argument
3776 return reg->syntax; in onig_get_syntax()
3780 onig_number_of_captures(regex_t* reg) in onig_number_of_captures() argument
3782 return reg->num_mem; in onig_number_of_captures()
3786 onig_number_of_capture_histories(regex_t* reg) in onig_number_of_capture_histories() argument
3793 if (BIT_STATUS_AT(reg->capture_history, i) != 0) in onig_number_of_capture_histories()