if (d == 0) {
#ifdef USE_STUBBORN_CHECK_CAPTURES_IN_EMPTY_REPEAT
qn->emptiness = quantifiers_memory_node_info(body);
- if (qn->emptiness == BODY_IS_EMPTY_POSSIBILITY_REC) {
- if (NODE_TYPE(body) == NODE_BAG &&
- BAG_(body)->type == BAG_MEMORY) {
- MEM_STATUS_ON(env->st_mem_end, BAG_(body)->m.regnum);
- }
- }
#else
qn->emptiness = BODY_IS_EMPTY_POSSIBILITY;
#endif
for (i = 0; i < br->back_num; i++) {
if (p[i] > env->num_mem) return ONIGERR_INVALID_BACKREF;
MEM_STATUS_ON(env->backrefed_mem, p[i]);
- MEM_STATUS_ON(env->st_mem_start, p[i]);
#ifdef USE_BACKREF_WITH_LEVEL
if (NODE_IS_NEST_LEVEL(node)) {
MEM_STATUS_ON(env->backtrack_mem, p[i]);
- MEM_STATUS_ON(env->st_mem_end, p[i]);
}
#endif
}
if ((state & (IN_ALT | IN_NOT | IN_VAR_REPEAT | IN_MULTI_ENTRY)) != 0
|| NODE_IS_RECURSION(node)) {
- MEM_STATUS_ON(env->st_mem_start, en->m.regnum);
MEM_STATUS_ON(env->backtrack_mem, en->m.regnum);
}
r = setup_tree(NODE_BODY(node), reg, state, env);
scan_env_clear(ScanEnv* env)
{
MEM_STATUS_CLEAR(env->cap_history);
- MEM_STATUS_CLEAR(env->st_mem_start);
- MEM_STATUS_CLEAR(env->st_mem_end);
MEM_STATUS_CLEAR(env->backtrack_mem);
MEM_STATUS_CLEAR(env->backrefed_mem);
env->error = (UChar* )NULL;
OnigEncoding enc;
OnigSyntaxType* syntax;
MemStatusType cap_history;
- MemStatusType st_mem_start;
- MemStatusType st_mem_end;
MemStatusType backtrack_mem; /* backtrack/recursion */
MemStatusType backrefed_mem;
UChar* pattern;