#include "regint.h"
Include dependency graph for regexec.c:
Go to the source code of this file.
Data Structures | |
struct | posix_regmatch_t |
Defines | |
#define | RREGC_SIZE (sizeof(int) * from->num_regs) |
#define | INVALID_STACK_INDEX -1 |
stack | |
#define | STK_ALT 0x0001 |
#define | STK_LOOK_BEHIND_NOT 0x0002 |
#define | STK_POS_NOT 0x0003 |
#define | STK_MEM_START 0x0100 |
#define | STK_MEM_END 0x8200 |
#define | STK_REPEAT_INC 0x0300 |
#define | STK_STATE_CHECK_MARK 0x1000 |
#define | STK_NULL_CHECK_START 0x3000 |
#define | STK_NULL_CHECK_END 0x5000 |
#define | STK_MEM_END_MARK 0x8400 |
#define | STK_POS 0x0500 |
#define | STK_STOP_BT 0x0600 |
#define | STK_REPEAT 0x0700 |
#define | STK_CALL_FRAME 0x0800 |
#define | STK_RETURN 0x0900 |
#define | STK_VOID 0x0a00 |
#define | STK_MASK_POP_USED 0x00ff |
#define | STK_MASK_TO_VOID_TARGET 0x10ff |
#define | STK_MASK_MEM_END_OR_MARK 0x8000 |
#define | MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start) |
#define | MATCH_ARG_FREE(msa) if ((msa).stack_p) xfree((msa).stack_p) |
#define | STACK_INIT(alloc_addr, ptr_num, stack_num) |
#define | STACK_SAVE |
#define | STACK_ENSURE(n) |
#define | STACK_AT(index) (stk_base + (index)) |
#define | GET_STACK_INDEX(stk) ((stk) - stk_base) |
#define | STACK_PUSH_TYPE(stack_type) |
#define | IS_TO_VOID_TARGET(stk) (((stk)->type & STK_MASK_TO_VOID_TARGET) != 0) |
#define | ELSE_IF_STATE_CHECK_MARK(stk) |
#define | STACK_PUSH(stack_type, pat, s, sprev) |
#define | STACK_PUSH_ENSURED(stack_type, pat) |
#define | STACK_PUSH_ALT(pat, s, sprev) STACK_PUSH(STK_ALT,pat,s,sprev) |
#define | STACK_PUSH_POS(s, sprev) STACK_PUSH(STK_POS,NULL_UCHARP,s,sprev) |
#define | STACK_PUSH_POS_NOT(pat, s, sprev) STACK_PUSH(STK_POS_NOT,pat,s,sprev) |
#define | STACK_PUSH_STOP_BT STACK_PUSH_TYPE(STK_STOP_BT) |
#define | STACK_PUSH_LOOK_BEHIND_NOT(pat, s, sprev) STACK_PUSH(STK_LOOK_BEHIND_NOT,pat,s,sprev) |
#define | STACK_PUSH_REPEAT(id, pat) |
#define | STACK_PUSH_REPEAT_INC(sindex) |
#define | STACK_PUSH_MEM_START(mnum, s) |
#define | STACK_PUSH_MEM_END(mnum, s) |
#define | STACK_PUSH_MEM_END_MARK(mnum) |
#define | STACK_GET_MEM_START(mnum, k) |
#define | STACK_GET_MEM_RANGE(k, mnum, start, end) |
#define | STACK_PUSH_NULL_CHECK_START(cnum, s) |
#define | STACK_PUSH_NULL_CHECK_END(cnum) |
#define | STACK_PUSH_CALL_FRAME(pat) |
#define | STACK_PUSH_RETURN |
#define | STACK_BASE_CHECK(p, at) |
#define | STACK_POP_ONE |
#define | STACK_POP |
#define | STACK_POP_TIL_POS_NOT |
#define | STACK_POP_TIL_LOOK_BEHIND_NOT |
#define | STACK_POS_END(k) |
#define | STACK_STOP_BT_END |
#define | STACK_NULL_CHECK(isnull, id, s) |
#define | STACK_NULL_CHECK_REC(isnull, id, s) |
#define | STACK_NULL_CHECK_MEMST(isnull, id, s, reg) |
#define | STACK_NULL_CHECK_MEMST_REC(isnull, id, s, reg) |
#define | STACK_GET_REPEAT(id, k) |
#define | STACK_RETURN(addr) |
#define | STRING_CMP(s1, s2, len) |
#define | STRING_CMP_IC(case_fold_flag, s1, ps2, len, text_end) |
#define | STRING_CMP_VALUE(s1, s2, len, is_fail) |
#define | STRING_CMP_VALUE_IC(case_fold_flag, s1, ps2, len, text_end, is_fail) |
#define | IS_EMPTY_STR (str == end) |
#define | ON_STR_BEGIN(s) ((s) == str) |
#define | ON_STR_END(s) ((s) == end) |
#define | DATA_ENSURE_CHECK1 (s < end) |
#define | DATA_ENSURE_CHECK(n) (s + (n) <= end) |
#define | DATA_ENSURE(n) if (s + (n) > end) goto fail |
#define | STACK_INC stk++ |
#define | MOP_IN(opcode) |
#define | MOP_OUT |
#define | BM_BACKWARD_SEARCH_LENGTH_THRESHOLD 100 |
#define | MATCH_AND_RETURN_CHECK(none) |
Typedefs | |
typedef int | regoff_t |
Functions | |
void | onig_region_clear (OnigRegion *region) |
int | onig_region_resize (OnigRegion *region, int n) |
static int | onig_region_resize_clear (OnigRegion *region, int n) |
int | onig_region_set (OnigRegion *region, int at, int beg, int end) |
void | onig_region_init (OnigRegion *region) |
OnigRegion * | onig_region_new (void) |
void | onig_region_free (OnigRegion *r, int free_self) |
void | onig_region_copy (OnigRegion *to, OnigRegion *from) |
unsigned int | onig_get_match_stack_limit_size (void) |
int | onig_set_match_stack_limit_size (unsigned int size) |
static int | stack_double (OnigStackType **arg_stk_base, OnigStackType **arg_stk_end, OnigStackType **arg_stk, OnigStackType *stk_alloc, OnigMatchArg *msa) |
static int | string_cmp_ic (OnigEncoding enc, int case_fold_flag, UChar *s1, UChar **ps2, int mblen, const UChar *text_end) |
static int | mem_is_in_memp (int mem, int num, UChar *memp) |
static int | backref_match_at_nested_level (regex_t *reg, OnigStackType *top, OnigStackType *stk_base, int ignore_case, int case_fold_flag, int nest, int mem_num, UChar *memp, UChar **s, const UChar *send) |
static long | match_at (regex_t *reg, const UChar *str, const UChar *end, const UChar *sstart, UChar *sprev, OnigMatchArg *msa) |
static UChar * | slow_search (OnigEncoding enc, UChar *target, UChar *target_end, const UChar *text, const UChar *text_end, UChar *text_range) |
static int | str_lower_case_match (OnigEncoding enc, int case_fold_flag, const UChar *t, const UChar *tend, const UChar *p, const UChar *end) |
static UChar * | slow_search_ic (OnigEncoding enc, int case_fold_flag, UChar *target, UChar *target_end, const UChar *text, const UChar *text_end, UChar *text_range) |
static UChar * | slow_search_backward (OnigEncoding enc, UChar *target, UChar *target_end, const UChar *text, const UChar *adjust_text, const UChar *text_end, const UChar *text_start) |
static UChar * | slow_search_backward_ic (OnigEncoding enc, int case_fold_flag, UChar *target, UChar *target_end, const UChar *text, const UChar *adjust_text, const UChar *text_end, const UChar *text_start) |
static UChar * | bm_search_notrev (regex_t *reg, const UChar *target, const UChar *target_end, const UChar *text, const UChar *text_end, const UChar *text_range) |
static UChar * | bm_search (regex_t *reg, const UChar *target, const UChar *target_end, const UChar *text, const UChar *text_end, const UChar *text_range) |
static int | set_bm_backward_skip (UChar *s, UChar *end, OnigEncoding enc ARG_UNUSED, int **skip) |
static UChar * | bm_search_backward (regex_t *reg, const UChar *target, const UChar *target_end, const UChar *text, const UChar *adjust_text, const UChar *text_end, const UChar *text_start) |
static UChar * | map_search (OnigEncoding enc, UChar map[], const UChar *text, const UChar *text_range, const UChar *text_end) |
static UChar * | map_search_backward (OnigEncoding enc, UChar map[], const UChar *text, const UChar *adjust_text, const UChar *text_start, const UChar *text_end) |
long | onig_match (regex_t *reg, const UChar *str, const UChar *end, const UChar *at, OnigRegion *region, OnigOptionType option) |
static int | forward_search_range (regex_t *reg, const UChar *str, const UChar *end, UChar *s, UChar *range, UChar **low, UChar **high, UChar **low_prev) |
static int set_bm_backward_skip | P_ ((UChar *s, UChar *end, OnigEncoding enc, int **skip)) |
static long | backward_search_range (regex_t *reg, const UChar *str, const UChar *end, UChar *s, const UChar *range, UChar *adjrange, UChar **low, UChar **high) |
long | onig_search (regex_t *reg, const UChar *str, const UChar *end, const UChar *start, const UChar *range, OnigRegion *region, OnigOptionType option) |
OnigEncoding | onig_get_encoding (regex_t *reg) |
OnigOptionType | onig_get_options (regex_t *reg) |
OnigCaseFoldType | onig_get_case_fold_flag (regex_t *reg) |
const OnigSyntaxType * | onig_get_syntax (regex_t *reg) |
int | onig_number_of_captures (regex_t *reg) |
int | onig_number_of_capture_histories (regex_t *reg) |
void | onig_copy_encoding (OnigEncoding to, OnigEncoding from) |
Variables | |
static unsigned int | MatchStackLimitSize = DEFAULT_MATCH_STACK_LIMIT_SIZE |
#define BM_BACKWARD_SEARCH_LENGTH_THRESHOLD 100 |
#define DATA_ENSURE | ( | n | ) | if (s + (n) > end) goto fail |
#define DATA_ENSURE_CHECK | ( | n | ) | (s + (n) <= end) |
#define DATA_ENSURE_CHECK1 (s < end) |
#define GET_STACK_INDEX | ( | stk | ) | ((stk) - stk_base) |
#define INVALID_STACK_INDEX -1 |
#define IS_EMPTY_STR (str == end) |
#define IS_TO_VOID_TARGET | ( | stk | ) | (((stk)->type & STK_MASK_TO_VOID_TARGET) != 0) |
#define MATCH_AND_RETURN_CHECK | ( | none | ) |
Value:
r = match_at(reg, str, end, s, prev, &msa);\ if (r != ONIG_MISMATCH) {\ if (r >= 0) {\ if (! IS_FIND_LONGEST(reg->options)) {\ goto match;\ }\ }\ else goto finish; /* error */ \ }
Referenced by onig_search().
#define MATCH_ARG_FREE | ( | msa | ) | if ((msa).stack_p) xfree((msa).stack_p) |
#define MATCH_ARG_INIT | ( | msa, | |||
arg_option, | |||||
arg_region, | |||||
arg_start | ) |
Value:
do {\ (msa).stack_p = (void* )0;\ (msa).options = (arg_option);\ (msa).region = (arg_region);\ (msa).start = (arg_start);\ (msa).best_len = ONIG_MISMATCH;\ } while(0)
Definition at line 337 of file regexec.c.
Referenced by onig_match(), and onig_search().
#define MOP_IN | ( | opcode | ) |
#define MOP_OUT |
#define ON_STR_BEGIN | ( | s | ) | ((s) == str) |
Definition at line 1030 of file regexec.c.
Referenced by backward_search_range(), forward_search_range(), and match_at().
#define ON_STR_END | ( | s | ) | ((s) == end) |
Definition at line 1031 of file regexec.c.
Referenced by backward_search_range(), forward_search_range(), and match_at().
#define RREGC_SIZE (sizeof(int) * from->num_regs) |
#define STACK_AT | ( | index | ) | (stk_base + (index)) |
#define STACK_ENSURE | ( | n | ) |
Value:
do {\ if (stk_end - stk < (n)) {\ int r = stack_double(&stk_base, &stk_end, &stk, stk_alloc, msa);\ if (r != 0) { STACK_SAVE; return r; } \ }\ } while(0)
Definition at line 477 of file regexec.c.
Referenced by match_at().
#define STACK_GET_MEM_RANGE | ( | k, | |||
mnum, | |||||
start, | |||||
end | ) |
Value:
do {\ int level = 0;\ while (k < stk) {\ if (k->type == STK_MEM_START && k->u.mem.num == (mnum)) {\ if (level == 0) (start) = k->u.mem.pstr;\ level++;\ }\ else if (k->type == STK_MEM_END && k->u.mem.num == (mnum)) {\ level--;\ if (level == 0) {\ (end) = k->u.mem.pstr;\ break;\ }\ }\ k++;\ }\ } while(0)
#define STACK_GET_MEM_START | ( | mnum, | |||
k | ) |
Value:
do {\ int level = 0;\ k = stk;\ while (k > stk_base) {\ k--;\ if ((k->type & STK_MASK_MEM_END_OR_MARK) != 0 \ && k->u.mem.num == (mnum)) {\ level++;\ }\ else if (k->type == STK_MEM_START && k->u.mem.num == (mnum)) {\ if (level == 0) break;\ level--;\ }\ }\ } while(0)
Definition at line 623 of file regexec.c.
Referenced by match_at().
#define STACK_GET_REPEAT | ( | id, | |||
k | ) |
Value:
do {\ int level = 0;\ k = stk;\ while (1) {\ k--;\ STACK_BASE_CHECK(k, "STACK_GET_REPEAT"); \ if (k->type == STK_REPEAT) {\ if (level == 0) {\ if (k->u.repeat.num == (id)) {\ break;\ }\ }\ }\ else if (k->type == STK_CALL_FRAME) level--;\ else if (k->type == STK_RETURN) level++;\ }\ } while(0)
Definition at line 937 of file regexec.c.
Referenced by match_at().
#define STACK_INIT | ( | alloc_addr, | |||
ptr_num, | |||||
stack_num | ) |
Value:
do {\ if (msa->stack_p) {\ alloc_addr = (char* )xalloca(sizeof(char*) * (ptr_num));\ stk_alloc = (OnigStackType* )(msa->stack_p);\ stk_base = stk_alloc;\ stk = stk_base;\ stk_end = stk_base + msa->stack_n;\ }\ else {\ alloc_addr = (char* )xalloca(sizeof(char*) * (ptr_num)\ + sizeof(OnigStackType) * (stack_num));\ stk_alloc = (OnigStackType* )(alloc_addr + sizeof(char*) * (ptr_num));\ stk_base = stk_alloc;\ stk = stk_base;\ stk_end = stk_base + (stack_num);\ }\ } while(0)
Definition at line 395 of file regexec.c.
Referenced by match_at().
#define STACK_NULL_CHECK | ( | isnull, | |||
id, | |||||
s | ) |
Value:
do {\ OnigStackType* k = stk;\ while (1) {\ k--;\ STACK_BASE_CHECK(k, "STACK_NULL_CHECK"); \ if (k->type == STK_NULL_CHECK_START) {\ if (k->u.null_check.num == (id)) {\ (isnull) = (k->u.null_check.pstr == (s));\ break;\ }\ }\ }\ } while(0)
Definition at line 815 of file regexec.c.
Referenced by match_at().
#define STACK_NULL_CHECK_MEMST | ( | isnull, | |||
id, | |||||
s, | |||||
reg | ) |
#define STACK_NULL_CHECK_MEMST_REC | ( | isnull, | |||
id, | |||||
s, | |||||
reg | ) |
#define STACK_NULL_CHECK_REC | ( | isnull, | |||
id, | |||||
s | ) |
Value:
do {\ int level = 0;\ OnigStackType* k = stk;\ while (1) {\ k--;\ STACK_BASE_CHECK(k, "STACK_NULL_CHECK_REC"); \ if (k->type == STK_NULL_CHECK_START) {\ if (k->u.null_check.num == (id)) {\ if (level == 0) {\ (isnull) = (k->u.null_check.pstr == (s));\ break;\ }\ else level--;\ }\ }\ else if (k->type == STK_NULL_CHECK_END) {\ level++;\ }\ }\ } while(0)
Definition at line 829 of file regexec.c.
Referenced by match_at().
#define STACK_POP |
#define STACK_POP_ONE |
Value:
do {\ stk--;\ STACK_BASE_CHECK(stk, "STACK_POP_ONE"); \ } while(0)
Definition at line 696 of file regexec.c.
Referenced by match_at().
#define STACK_POP_TIL_LOOK_BEHIND_NOT |
Value:
do {\ while (1) {\ stk--;\ STACK_BASE_CHECK(stk, "STACK_POP_TIL_LOOK_BEHIND_NOT"); \ if (stk->type == STK_LOOK_BEHIND_NOT) break;\ else if (stk->type == STK_MEM_START) {\ mem_start_stk[stk->u.mem.num] = stk->u.mem.start;\ mem_end_stk[stk->u.mem.num] = stk->u.mem.end;\ }\ else if (stk->type == STK_REPEAT_INC) {\ STACK_AT(stk->u.repeat_inc.si)->u.repeat.count--;\ }\ else if (stk->type == STK_MEM_END) {\ mem_start_stk[stk->u.mem.num] = stk->u.mem.start;\ mem_end_stk[stk->u.mem.num] = stk->u.mem.end;\ }\ ELSE_IF_STATE_CHECK_MARK(stk);\ }\ } while(0)
Definition at line 765 of file regexec.c.
Referenced by match_at().
#define STACK_POP_TIL_POS_NOT |
Value:
do {\ while (1) {\ stk--;\ STACK_BASE_CHECK(stk, "STACK_POP_TIL_POS_NOT"); \ if (stk->type == STK_POS_NOT) break;\ else if (stk->type == STK_MEM_START) {\ mem_start_stk[stk->u.mem.num] = stk->u.mem.start;\ mem_end_stk[stk->u.mem.num] = stk->u.mem.end;\ }\ else if (stk->type == STK_REPEAT_INC) {\ STACK_AT(stk->u.repeat_inc.si)->u.repeat.count--;\ }\ else if (stk->type == STK_MEM_END) {\ mem_start_stk[stk->u.mem.num] = stk->u.mem.start;\ mem_end_stk[stk->u.mem.num] = stk->u.mem.end;\ }\ ELSE_IF_STATE_CHECK_MARK(stk);\ }\ } while(0)
Definition at line 745 of file regexec.c.
Referenced by match_at().
#define STACK_POS_END | ( | k | ) |
Value:
do {\ k = stk;\ while (1) {\ k--;\ STACK_BASE_CHECK(k, "STACK_POS_END"); \ if (IS_TO_VOID_TARGET(k)) {\ k->type = STK_VOID;\ }\ else if (k->type == STK_POS) {\ k->type = STK_VOID;\ break;\ }\ }\ } while(0)
Definition at line 785 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH | ( | stack_type, | |||
pat, | |||||
s, | |||||
sprev | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = (stack_type);\ stk->u.state.pcode = (pat);\ stk->u.state.pstr = (s);\ stk->u.state.pstr_prev = (sprev);\ STACK_INC;\ } while(0)
#define STACK_PUSH_ALT | ( | pat, | |||
s, | |||||
sprev | ) | STACK_PUSH(STK_ALT,pat,s,sprev) |
#define STACK_PUSH_CALL_FRAME | ( | pat | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_CALL_FRAME;\ stk->u.call_frame.ret_addr = (pat);\ STACK_INC;\ } while(0)
Definition at line 672 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_ENSURED | ( | stack_type, | |||
pat | ) |
Value:
do {\ stk->type = (stack_type);\ stk->u.state.pcode = (pat);\ STACK_INC;\ } while(0)
Definition at line 563 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_LOOK_BEHIND_NOT | ( | pat, | |||
s, | |||||
sprev | ) | STACK_PUSH(STK_LOOK_BEHIND_NOT,pat,s,sprev) |
#define STACK_PUSH_MEM_END | ( | mnum, | |||
s | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_MEM_END;\ stk->u.mem.num = (mnum);\ stk->u.mem.pstr = (s);\ stk->u.mem.start = mem_start_stk[mnum];\ stk->u.mem.end = mem_end_stk[mnum];\ mem_end_stk[mnum] = GET_STACK_INDEX(stk);\ STACK_INC;\ } while(0)
Definition at line 605 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_MEM_END_MARK | ( | mnum | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_MEM_END_MARK;\ stk->u.mem.num = (mnum);\ STACK_INC;\ } while(0)
Definition at line 616 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_MEM_START | ( | mnum, | |||
s | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_MEM_START;\ stk->u.mem.num = (mnum);\ stk->u.mem.pstr = (s);\ stk->u.mem.start = mem_start_stk[mnum];\ stk->u.mem.end = mem_end_stk[mnum];\ mem_start_stk[mnum] = GET_STACK_INDEX(stk);\ mem_end_stk[mnum] = INVALID_STACK_INDEX;\ STACK_INC;\ } while(0)
Definition at line 593 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_NULL_CHECK_END | ( | cnum | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_NULL_CHECK_END;\ stk->u.null_check.num = (cnum);\ STACK_INC;\ } while(0)
Definition at line 665 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_NULL_CHECK_START | ( | cnum, | |||
s | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_NULL_CHECK_START;\ stk->u.null_check.num = (cnum);\ stk->u.null_check.pstr = (s);\ STACK_INC;\ } while(0)
Definition at line 657 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_POS | ( | s, | |||
sprev | ) | STACK_PUSH(STK_POS,NULL_UCHARP,s,sprev) |
#define STACK_PUSH_POS_NOT | ( | pat, | |||
s, | |||||
sprev | ) | STACK_PUSH(STK_POS_NOT,pat,s,sprev) |
#define STACK_PUSH_REPEAT | ( | id, | |||
pat | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_REPEAT;\ stk->u.repeat.num = (id);\ stk->u.repeat.pcode = (pat);\ stk->u.repeat.count = 0;\ STACK_INC;\ } while(0)
Definition at line 577 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_REPEAT_INC | ( | sindex | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_REPEAT_INC;\ stk->u.repeat_inc.si = (sindex);\ STACK_INC;\ } while(0)
Definition at line 586 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_RETURN |
Value:
do {\ STACK_ENSURE(1);\ stk->type = STK_RETURN;\ STACK_INC;\ } while(0)
Definition at line 679 of file regexec.c.
Referenced by match_at().
#define STACK_PUSH_STOP_BT STACK_PUSH_TYPE(STK_STOP_BT) |
#define STACK_PUSH_TYPE | ( | stack_type | ) |
Value:
do {\ STACK_ENSURE(1);\ stk->type = (stack_type);\ STACK_INC;\ } while(0)
#define STACK_RETURN | ( | addr | ) |
Value:
do {\ int level = 0;\ OnigStackType* k = stk;\ while (1) {\ k--;\ STACK_BASE_CHECK(k, "STACK_RETURN"); \ if (k->type == STK_CALL_FRAME) {\ if (level == 0) {\ (addr) = k->u.call_frame.ret_addr;\ break;\ }\ else level--;\ }\ else if (k->type == STK_RETURN)\ level++;\ }\ } while(0)
Definition at line 955 of file regexec.c.
Referenced by match_at().
#define STACK_SAVE |
Value:
do{\ if (stk_base != stk_alloc) {\ msa->stack_p = stk_base;\ msa->stack_n = stk_end - stk_base; /* TODO: check overflow */\ };\ } while(0)
Definition at line 413 of file regexec.c.
Referenced by stack_double().
#define STACK_STOP_BT_END |
Value:
do {\ OnigStackType *k = stk;\ while (1) {\ k--;\ STACK_BASE_CHECK(k, "STACK_STOP_BT_END"); \ if (IS_TO_VOID_TARGET(k)) {\ k->type = STK_VOID;\ }\ else if (k->type == STK_STOP_BT) {\ k->type = STK_VOID;\ break;\ }\ }\ } while(0)
Definition at line 800 of file regexec.c.
Referenced by match_at().
#define STK_ALT 0x0001 |
#define STK_CALL_FRAME 0x0800 |
#define STK_MEM_END 0x8200 |
#define STK_MEM_START 0x0100 |
#define STK_RETURN 0x0900 |
#define STK_STATE_CHECK_MARK 0x1000 |
#define STRING_CMP | ( | s1, | |||
s2, | |||||
len | ) |
Value:
do {\ while (len-- > 0) {\ if (*s1++ != *s2++) goto fail;\ }\ } while(0)
Definition at line 974 of file regexec.c.
Referenced by match_at().
#define STRING_CMP_IC | ( | case_fold_flag, | |||
s1, | |||||
ps2, | |||||
len, | |||||
text_end | ) |
Value:
do {\ if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len, text_end) == 0) \ goto fail; \ } while(0)
Definition at line 980 of file regexec.c.
Referenced by match_at().
#define STRING_CMP_VALUE | ( | s1, | |||
s2, | |||||
len, | |||||
is_fail | ) |
Value:
do {\ is_fail = 0;\ while (len-- > 0) {\ if (*s1++ != *s2++) {\ is_fail = 1; break;\ }\ }\ } while(0)
Definition at line 1012 of file regexec.c.
Referenced by match_at().
#define STRING_CMP_VALUE_IC | ( | case_fold_flag, | |||
s1, | |||||
ps2, | |||||
len, | |||||
text_end, | |||||
is_fail | ) |
Value:
do {\ if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len, text_end) == 0) \ is_fail = 1; \ else \ is_fail = 0; \ } while(0)
Definition at line 1021 of file regexec.c.
Referenced by match_at().
static int backref_match_at_nested_level | ( | regex_t * | reg, | |
OnigStackType * | top, | |||
OnigStackType * | stk_base, | |||
int | ignore_case, | |||
int | case_fold_flag, | |||
int | nest, | |||
int | mem_num, | |||
UChar * | memp, | |||
UChar ** | s, | |||
const UChar * | send | |||
) | [static] |
Definition at line 1098 of file regexec.c.
References re_pattern_buffer::enc, _OnigStackType::mem, mem_is_in_memp(), NULL_UCHARP, STK_CALL_FRAME, STK_MEM_END, STK_MEM_START, STK_RETURN, string_cmp_ic(), top, _OnigStackType::type, _OnigStackType::u, and UChar.
Referenced by match_at().
static long backward_search_range | ( | regex_t * | reg, | |
const UChar * | str, | |||
const UChar * | end, | |||
UChar * | s, | |||
const UChar * | range, | |||
UChar * | adjrange, | |||
UChar ** | low, | |||
UChar ** | high | |||
) | [static] |
Definition at line 3262 of file regexec.c.
References ANCHOR_BEGIN_LINE, ANCHOR_END_LINE, BM_BACKWARD_SEARCH_LENGTH_THRESHOLD, bm_search_backward(), re_pattern_buffer::case_fold_flag, re_pattern_buffer::dmax, re_pattern_buffer::dmin, re_pattern_buffer::enc, re_pattern_buffer::exact, re_pattern_buffer::exact_end, re_pattern_buffer::int_map_backward, IS_NULL, re_pattern_buffer::map, map_search_backward(), ON_STR_BEGIN, ON_STR_END, ONIG_INFINITE_DISTANCE, ONIG_OPTIMIZE_EXACT, ONIG_OPTIMIZE_EXACT_BM, ONIG_OPTIMIZE_EXACT_BM_NOT_REV, ONIG_OPTIMIZE_EXACT_IC, ONIG_OPTIMIZE_MAP, onigenc_get_prev_char_head(), onigenc_get_right_adjust_char_head(), ONIGENC_IS_MBC_NEWLINE, re_pattern_buffer::optimize, set_bm_backward_skip(), slow_search_backward(), slow_search_backward_ic(), re_pattern_buffer::sub_anchor, and UChar.
Referenced by onig_search().
static UChar* bm_search | ( | regex_t * | reg, | |
const UChar * | target, | |||
const UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | text_end, | |||
const UChar * | text_range | |||
) | [static] |
Definition at line 2948 of file regexec.c.
References re_pattern_buffer::int_map, IS_NULL, re_pattern_buffer::map, NULL, and UChar.
static UChar* bm_search_backward | ( | regex_t * | reg, | |
const UChar * | target, | |||
const UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | adjust_text, | |||
const UChar * | text_end, | |||
const UChar * | text_start | |||
) | [static] |
Definition at line 3008 of file regexec.c.
References re_pattern_buffer::enc, re_pattern_buffer::int_map_backward, NULL, ONIGENC_LEFT_ADJUST_CHAR_HEAD, and UChar.
Referenced by backward_search_range().
static UChar* bm_search_notrev | ( | regex_t * | reg, | |
const UChar * | target, | |||
const UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | text_end, | |||
const UChar * | text_range | |||
) | [static] |
Definition at line 2892 of file regexec.c.
References re_pattern_buffer::enc, enclen, re_pattern_buffer::int_map, IS_NULL, re_pattern_buffer::map, NULL, and UChar.
Referenced by forward_search_range().
static int forward_search_range | ( | regex_t * | reg, | |
const UChar * | str, | |||
const UChar * | end, | |||
UChar * | s, | |||
UChar * | range, | |||
UChar ** | low, | |||
UChar ** | high, | |||
UChar ** | low_prev | |||
) | [static] |
Definition at line 3131 of file regexec.c.
References ANCHOR_BEGIN_LINE, ANCHOR_END_LINE, bm_search(), bm_search_notrev(), re_pattern_buffer::case_fold_flag, re_pattern_buffer::dmax, re_pattern_buffer::dmin, re_pattern_buffer::enc, enclen, re_pattern_buffer::exact, re_pattern_buffer::exact_end, IS_NULL, re_pattern_buffer::map, map_search(), NULL, ON_STR_BEGIN, ON_STR_END, ONIG_INFINITE_DISTANCE, ONIG_OPTIMIZE_EXACT, ONIG_OPTIMIZE_EXACT_BM, ONIG_OPTIMIZE_EXACT_BM_NOT_REV, ONIG_OPTIMIZE_EXACT_IC, ONIG_OPTIMIZE_MAP, onigenc_get_prev_char_head(), onigenc_get_right_adjust_char_head_with_prev(), ONIGENC_IS_MBC_NEWLINE, ONIGENC_IS_SINGLEBYTE, re_pattern_buffer::optimize, slow_search(), slow_search_ic(), re_pattern_buffer::sub_anchor, and UChar.
Referenced by onig_search().
static UChar* map_search | ( | OnigEncoding | enc, | |
UChar | map[], | |||
const UChar * | text, | |||
const UChar * | text_range, | |||
const UChar * | text_end | |||
) | [static] |
static UChar* map_search_backward | ( | OnigEncoding | enc, | |
UChar | map[], | |||
const UChar * | text, | |||
const UChar * | adjust_text, | |||
const UChar * | text_start, | |||
const UChar * | text_end | |||
) | [static] |
Definition at line 3051 of file regexec.c.
References NULL, onigenc_get_prev_char_head(), and UChar.
Referenced by backward_search_range().
static long match_at | ( | regex_t * | reg, | |
const UChar * | str, | |||
const UChar * | end, | |||
const UChar * | sstart, | |||
UChar * | sprev, | |||
OnigMatchArg * | msa | |||
) | [static] |
Definition at line 1246 of file regexec.c.
References ALIGNMENT_RIGHT, backref_match_at_nested_level(), OnigCaptureTreeNodeStruct::beg, re_registers::beg, OnigMatchArg::best_len, OnigMatchArg::best_s, BIT_STATUS_AT, BITSET_AT, bp, re_pattern_buffer::bt_mem_end, re_pattern_buffer::bt_mem_start, buf, re_pattern_buffer::capture_history, re_pattern_buffer::case_fold_flag, CHECK_INTERRUPT_IN_MATCH_AT, CHECK_NULL_RETURN_MEMERR, DATA_ENSURE, DATA_ENSURE_CHECK, DATA_ENSURE_CHECK1, re_pattern_buffer::enc, enclen, OnigCaptureTreeNodeStruct::end, re_registers::end, GET_ABSADDR_INC, GET_LENGTH_INC, GET_MEMNUM_INC, GET_OPTION_INC, GET_POINTER_INC, GET_RELADDR_INC, GET_STACK_INDEX, GET_STATE_CHECK_NUM_INC, OnigCaptureTreeNodeStruct::group, re_registers::history_root, if(), INIT_MATCH_STACK_SIZE, INVALID_STACK_INDEX, IS_EMPTY_STR, IS_FIND_CONDITION, IS_FIND_LONGEST, IS_FIND_NOT_EMPTY, IS_NOTBOL, IS_NOTEOL, IS_NULL, IS_POSIX_REGION, len, OnigRepeatRange::lower, _OnigStackType::mem, MOP_IN, MOP_OUT, NULL, re_pattern_buffer::num_comb_exp_check, re_pattern_buffer::num_mem, re_pattern_buffer::num_repeat, ON_STR_BEGIN, ON_STR_END, onig_is_code_in_cc_len(), onig_is_in_code_range(), ONIG_MISMATCH, ONIG_REGION_NOTPOS, onigenc_get_prev_char_head(), ONIGENC_IS_MBC_HEAD, ONIGENC_IS_MBC_NEWLINE, ONIGENC_IS_MBC_WORD, ONIGENC_MBC_CASE_FOLD, ONIGENC_MBC_CASE_FOLD_MAXLEN, ONIGENC_MBC_TO_CODE, ONIGENC_STEP_BACK, OP_ANYCHAR, OP_ANYCHAR_ML, OP_ANYCHAR_ML_STAR, OP_ANYCHAR_ML_STAR_PEEK_NEXT, OP_ANYCHAR_STAR, OP_ANYCHAR_STAR_PEEK_NEXT, OP_BACKREF1, OP_BACKREF2, OP_BACKREF_MULTI, OP_BACKREF_MULTI_IC, OP_BACKREF_WITH_LEVEL, OP_BACKREFN, OP_BACKREFN_IC, OP_BEGIN_BUF, OP_BEGIN_LINE, OP_BEGIN_POSITION, OP_CALL, OP_CCLASS, OP_CCLASS_MB, OP_CCLASS_MB_NOT, OP_CCLASS_MIX, OP_CCLASS_MIX_NOT, OP_CCLASS_NODE, OP_CCLASS_NOT, OP_END, OP_END_BUF, OP_END_LINE, OP_EXACT1, OP_EXACT1_IC, OP_EXACT2, OP_EXACT3, OP_EXACT4, OP_EXACT5, OP_EXACTMB2N, OP_EXACTMB2N1, OP_EXACTMB2N2, OP_EXACTMB2N3, OP_EXACTMB3N, OP_EXACTMBN, OP_EXACTN, OP_EXACTN_IC, OP_FAIL, OP_FAIL_LOOK_BEHIND_NOT, OP_FAIL_POS, OP_FINISH, OP_JUMP, OP_LOOK_BEHIND, OP_MEMORY_END, OP_MEMORY_END_PUSH, OP_MEMORY_END_PUSH_REC, OP_MEMORY_END_REC, OP_MEMORY_START, OP_MEMORY_START_PUSH, OP_NOT_WORD, OP_NOT_WORD_BOUND, OP_NULL_CHECK_END, OP_NULL_CHECK_END_MEMST, OP_NULL_CHECK_END_MEMST_PUSH, OP_NULL_CHECK_START, OP_POP, OP_POP_POS, OP_POP_STOP_BT, OP_PUSH, OP_PUSH_IF_PEEK_NEXT, OP_PUSH_LOOK_BEHIND_NOT, OP_PUSH_OR_JUMP_EXACT1, OP_PUSH_POS, OP_PUSH_POS_NOT, OP_PUSH_STOP_BT, OP_REPEAT, OP_REPEAT_INC, OP_REPEAT_INC_NG, OP_REPEAT_INC_NG_SG, OP_REPEAT_INC_SG, OP_REPEAT_NG, OP_RETURN, OP_SEMI_END_BUF, OP_SET_OPTION, OP_SET_OPTION_PUSH, OP_STATE_CHECK, OP_STATE_CHECK_ANYCHAR_ML_STAR, OP_STATE_CHECK_ANYCHAR_STAR, OP_STATE_CHECK_PUSH, OP_STATE_CHECK_PUSH_OR_JUMP, OP_WORD, OP_WORD_BEGIN, OP_WORD_BOUND, OP_WORD_END, OnigMatchArg::options, re_pattern_buffer::options, re_pattern_buffer::p, OnigMatchArg::region, _OnigStackType::repeat, re_pattern_buffer::repeat_range, posix_regmatch_t::rm_eo, posix_regmatch_t::rm_so, SIZE_BITSET, SIZE_MEMNUM, SIZE_OP_FAIL, SIZE_OP_SET_OPTION, SIZE_RELADDR, STACK_AT, STACK_ENSURE, STACK_GET_MEM_START, STACK_GET_REPEAT, STACK_INIT, STACK_NULL_CHECK, STACK_NULL_CHECK_MEMST, STACK_NULL_CHECK_MEMST_REC, STACK_NULL_CHECK_REC, STACK_POP, re_pattern_buffer::stack_pop_level, STACK_POP_ONE, STACK_POP_TIL_LOOK_BEHIND_NOT, STACK_POP_TIL_POS_NOT, STACK_POS_END, STACK_PUSH_ALT, STACK_PUSH_CALL_FRAME, STACK_PUSH_ENSURED, STACK_PUSH_LOOK_BEHIND_NOT, STACK_PUSH_MEM_END, STACK_PUSH_MEM_END_MARK, STACK_PUSH_MEM_START, STACK_PUSH_NULL_CHECK_END, STACK_PUSH_NULL_CHECK_START, STACK_PUSH_POS, STACK_PUSH_POS_NOT, STACK_PUSH_REPEAT, STACK_PUSH_REPEAT_INC, STACK_PUSH_RETURN, STACK_PUSH_STOP_BT, STACK_RETURN, STACK_STOP_BT_END, OnigMatchArg::start, _OnigStackType::state, STK_ALT, STK_STATE_CHECK_MARK, STRING_CMP, STRING_CMP_IC, STRING_CMP_VALUE, STRING_CMP_VALUE_IC, _OnigStackType::type, _OnigStackType::u, UChar, OnigRepeatRange::upper, and xmemcpy.
Referenced by onig_match().
static int mem_is_in_memp | ( | int | mem, | |
int | num, | |||
UChar * | memp | |||
) | [static] |
Definition at line 1086 of file regexec.c.
References GET_MEMNUM_INC.
Referenced by backref_match_at_nested_level().
void onig_copy_encoding | ( | OnigEncoding | to, | |
OnigEncoding | from | |||
) |
OnigCaseFoldType onig_get_case_fold_flag | ( | regex_t * | reg | ) |
OnigEncoding onig_get_encoding | ( | regex_t * | reg | ) |
OnigOptionType onig_get_options | ( | regex_t * | reg | ) |
const OnigSyntaxType* onig_get_syntax | ( | regex_t * | reg | ) |
long onig_match | ( | regex_t * | reg, | |
const UChar * | str, | |||
const UChar * | end, | |||
const UChar * | at, | |||
OnigRegion * | region, | |||
OnigOptionType | option | |||
) |
Definition at line 3066 of file regexec.c.
References re_pattern_buffer::enc, IS_NOT_NULL, IS_POSIX_REGION, MATCH_ARG_FREE, MATCH_ARG_INIT, match_at(), re_pattern_buffer::num_comb_exp_check, re_pattern_buffer::num_mem, onig_chain_reduce(), onig_region_resize_clear(), ONIG_STATE, ONIG_STATE_DEC_THREAD, ONIG_STATE_INC, ONIG_STATE_NORMAL, onigenc_get_prev_char_head(), ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT, THREAD_ATOMIC_END, THREAD_ATOMIC_START, THREAD_PASS, THREAD_PASS_LIMIT_COUNT, and UChar.
Referenced by strscan_do_scan().
int onig_number_of_capture_histories | ( | regex_t * | reg | ) |
Definition at line 3794 of file regexec.c.
References BIT_STATUS_AT, re_pattern_buffer::capture_history, and ONIG_MAX_CAPTURE_HISTORY_GROUP.
int onig_number_of_captures | ( | regex_t * | reg | ) |
void onig_region_clear | ( | OnigRegion * | region | ) |
Definition at line 159 of file regexec.c.
References re_registers::beg, re_registers::end, re_registers::num_regs, and ONIG_REGION_NOTPOS.
Referenced by adjust_registers_to_matched(), onig_region_resize_clear(), and onig_search().
void onig_region_copy | ( | OnigRegion * | to, | |
OnigRegion * | from | |||
) |
Definition at line 283 of file regexec.c.
References re_registers::beg, re_registers::end, re_registers::history_root, IS_NOT_NULL, re_registers::num_regs, and onig_region_resize().
Referenced by match_init_copy(), rb_reg_search(), and strscan_init_copy().
void onig_region_free | ( | OnigRegion * | r, | |
int | free_self | |||
) |
Definition at line 267 of file regexec.c.
References re_registers::allocated, re_registers::beg, re_registers::end, and xfree.
Referenced by obj_free(), rb_reg_search(), and strscan_free().
void onig_region_init | ( | OnigRegion * | region | ) |
Definition at line 246 of file regexec.c.
References re_registers::allocated, re_registers::beg, re_registers::end, re_registers::history_root, and re_registers::num_regs.
Referenced by onig_region_new(), and strscan_s_allocate().
OnigRegion* onig_region_new | ( | void | ) |
int onig_region_resize | ( | OnigRegion * | region, | |
int | n | |||
) |
Definition at line 172 of file regexec.c.
References re_registers::allocated, re_registers::beg, re_registers::end, re_registers::num_regs, ONIG_NREGION, ONIGERR_MEMORY, xfree, xmalloc, and xrealloc.
Referenced by onig_region_copy(), onig_region_resize_clear(), and onig_region_set().
static int onig_region_resize_clear | ( | OnigRegion * | region, | |
int | n | |||
) | [static] |
Definition at line 220 of file regexec.c.
References onig_region_clear(), and onig_region_resize().
Referenced by onig_match(), and onig_search().
int onig_region_set | ( | OnigRegion * | region, | |
int | at, | |||
int | beg, | |||
int | end | |||
) |
Definition at line 231 of file regexec.c.
References re_registers::allocated, re_registers::beg, re_registers::end, onig_region_resize(), and ONIGERR_INVALID_ARGUMENT.
Referenced by adjust_registers_to_matched().
long onig_search | ( | regex_t * | reg, | |
const UChar * | str, | |||
const UChar * | end, | |||
const UChar * | start, | |||
const UChar * | range, | |||
OnigRegion * | region, | |||
OnigOptionType | option | |||
) |
Definition at line 3367 of file regexec.c.
References re_pattern_buffer::anchor, ANCHOR_ANYCHAR_STAR, ANCHOR_ANYCHAR_STAR_ML, ANCHOR_BEGIN_BUF, ANCHOR_BEGIN_POSITION, re_pattern_buffer::anchor_dmax, re_pattern_buffer::anchor_dmin, ANCHOR_END_BUF, ANCHOR_SEMI_END_BUF, backward_search_range(), OnigMatchArg::best_len, OnigMatchArg::best_s, re_pattern_buffer::dmax, re_pattern_buffer::enc, enclen, forward_search_range(), IS_FIND_LONGEST, IS_FIND_NOT_EMPTY, IS_NOT_NULL, IS_POSIX_REGION, MATCH_AND_RETURN_CHECK, MATCH_ARG_FREE, MATCH_ARG_INIT, MIN, NULL, re_pattern_buffer::num_comb_exp_check, re_pattern_buffer::num_mem, onig_chain_reduce(), ONIG_INFINITE_DISTANCE, ONIG_MISMATCH, ONIG_OPTIMIZE_NONE, onig_region_clear(), onig_region_resize_clear(), ONIG_STATE, ONIG_STATE_DEC_THREAD, ONIG_STATE_INC, ONIG_STATE_NORMAL, onigenc_get_prev_char_head(), onigenc_get_right_adjust_char_head(), ONIGENC_IS_MBC_NEWLINE, ONIGENC_LEFT_ADJUST_CHAR_HEAD, ONIGENC_STEP_BACK, ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT, re_pattern_buffer::optimize, re_pattern_buffer::options, THREAD_ATOMIC_END, THREAD_ATOMIC_START, THREAD_PASS, THREAD_PASS_LIMIT_COUNT, re_pattern_buffer::threshold_len, and UChar.
Referenced by rb_reg_search(), and strscan_do_scan().
static int set_bm_backward_skip P_ | ( | (UChar *s, UChar *end, OnigEncoding enc, int **skip) | ) | [static] |
static int set_bm_backward_skip | ( | UChar * | s, | |
UChar * | end, | |||
OnigEncoding enc | ARG_UNUSED, | |||
int ** | skip | |||
) | [static] |
Definition at line 2986 of file regexec.c.
References IS_NULL, len, ONIG_CHAR_TABLE_SIZE, ONIGERR_MEMORY, and xmalloc.
Referenced by backward_search_range().
static UChar* slow_search | ( | OnigEncoding | enc, | |
UChar * | target, | |||
UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | text_end, | |||
UChar * | text_range | |||
) | [static] |
Definition at line 2749 of file regexec.c.
References enclen, OnigEncodingTypeST::max_enc_len, memcmp(), OnigEncodingTypeST::min_enc_len, NULL, and UChar.
Referenced by forward_search_range().
static UChar* slow_search_backward | ( | OnigEncoding | enc, | |
UChar * | target, | |||
UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | adjust_text, | |||
const UChar * | text_end, | |||
const UChar * | text_start | |||
) | [static] |
Definition at line 2834 of file regexec.c.
References NULL, onigenc_get_prev_char_head(), ONIGENC_LEFT_ADJUST_CHAR_HEAD, and UChar.
Referenced by backward_search_range().
static UChar* slow_search_backward_ic | ( | OnigEncoding | enc, | |
int | case_fold_flag, | |||
UChar * | target, | |||
UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | adjust_text, | |||
const UChar * | text_end, | |||
const UChar * | text_start | |||
) | [static] |
Definition at line 2866 of file regexec.c.
References NULL, onigenc_get_prev_char_head(), ONIGENC_LEFT_ADJUST_CHAR_HEAD, str_lower_case_match(), and UChar.
Referenced by backward_search_range().
static UChar* slow_search_ic | ( | OnigEncoding | enc, | |
int | case_fold_flag, | |||
UChar * | target, | |||
UChar * | target_end, | |||
const UChar * | text, | |||
const UChar * | text_end, | |||
UChar * | text_range | |||
) | [static] |
Definition at line 2809 of file regexec.c.
References enclen, NULL, str_lower_case_match(), and UChar.
Referenced by forward_search_range().
static int stack_double | ( | OnigStackType ** | arg_stk_base, | |
OnigStackType ** | arg_stk_end, | |||
OnigStackType ** | arg_stk, | |||
OnigStackType * | stk_alloc, | |||
OnigMatchArg * | msa | |||
) | [static] |
Definition at line 436 of file regexec.c.
References IS_NULL, ONIGERR_MATCH_STACK_LIMIT_OVER, ONIGERR_MEMORY, OnigMatchArg::stack_p, STACK_SAVE, xmalloc, xmemcpy, and xrealloc.
static int str_lower_case_match | ( | OnigEncoding | enc, | |
int | case_fold_flag, | |||
const UChar * | t, | |||
const UChar * | tend, | |||
const UChar * | p, | |||
const UChar * | end | |||
) | [static] |
Definition at line 2789 of file regexec.c.
References ONIGENC_MBC_CASE_FOLD, ONIGENC_MBC_CASE_FOLD_MAXLEN, and UChar.
Referenced by slow_search_backward_ic(), and slow_search_ic().
static int string_cmp_ic | ( | OnigEncoding | enc, | |
int | case_fold_flag, | |||
UChar * | s1, | |||
UChar ** | ps2, | |||
int | mblen, | |||
const UChar * | text_end | |||
) | [static] |
Definition at line 985 of file regexec.c.
References ONIGENC_MBC_CASE_FOLD, ONIGENC_MBC_CASE_FOLD_MAXLEN, and UChar.
Referenced by backref_match_at_nested_level().
unsigned int MatchStackLimitSize = DEFAULT_MATCH_STACK_LIMIT_SIZE [static] |