Lines Matching refs:pmatch
46 tre_fill_pmatch(size_t nmatch, regmatch_t pmatch[], int cflags,
536 if (pmatch) \
537 xfree(pmatch); \
551 if (pmatch) \
552 xfree(pmatch); \
634 regmatch_t *pmatch = NULL; in tre_tnfa_run_backtrack() local
663 pmatch = xmalloc(sizeof(*pmatch) * tnfa->num_submatches); in tre_tnfa_run_backtrack()
664 if (!pmatch) in tre_tnfa_run_backtrack()
779 tre_fill_pmatch(bt + 1, pmatch, tnfa->cflags & ~REG_NOSUB, in tre_tnfa_run_backtrack()
781 so = pmatch[bt].rm_so; in tre_tnfa_run_backtrack()
782 eo = pmatch[bt].rm_eo; in tre_tnfa_run_backtrack()
914 if (pmatch) in tre_tnfa_run_backtrack()
915 xfree(pmatch); in tre_tnfa_run_backtrack()
930 tre_fill_pmatch(size_t nmatch, regmatch_t pmatch[], int cflags, in tre_fill_pmatch() argument
945 pmatch[i].rm_so = match_eo; in tre_fill_pmatch()
947 pmatch[i].rm_so = tags[submatch_data[i].so_tag]; in tre_fill_pmatch()
950 pmatch[i].rm_eo = match_eo; in tre_fill_pmatch()
952 pmatch[i].rm_eo = tags[submatch_data[i].eo_tag]; in tre_fill_pmatch()
956 if (pmatch[i].rm_so == -1 || pmatch[i].rm_eo == -1) in tre_fill_pmatch()
957 pmatch[i].rm_so = pmatch[i].rm_eo = -1; in tre_fill_pmatch()
966 if (pmatch[i].rm_eo == -1) in tre_fill_pmatch()
967 assert(pmatch[i].rm_so == -1); in tre_fill_pmatch()
968 assert(pmatch[i].rm_so <= pmatch[i].rm_eo); in tre_fill_pmatch()
974 if (pmatch[i].rm_so < pmatch[parents[j]].rm_so in tre_fill_pmatch()
975 || pmatch[i].rm_eo > pmatch[parents[j]].rm_eo) in tre_fill_pmatch()
976 pmatch[i].rm_so = pmatch[i].rm_eo = -1; in tre_fill_pmatch()
984 pmatch[i].rm_so = -1; in tre_fill_pmatch()
985 pmatch[i].rm_eo = -1; in tre_fill_pmatch()
997 size_t nmatch, regmatch_t pmatch[restrict], int eflags) in regexec()
1024 tre_fill_pmatch(nmatch, pmatch, tnfa->cflags, tnfa, tags, eo); in regexec()