Lines Matching refs:pmatch
88 regmatch_t *pmatch; /* [nsub+1] (0 element unused) */
108 static int matcher(struct re_guts *g, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
188 == size_t nmatch, regmatch_t pmatch[], int eflags);
194 regmatch_t pmatch[],
218 start = string + pmatch[0].rm_so;
219 stop = string + pmatch[0].rm_eo;
274 m->pmatch = NULL;
302 if (m->pmatch != NULL)
303 free((char *)m->pmatch);
327 if (m->pmatch == NULL)
328 m->pmatch = (regmatch_t *)malloc((m->g->nsub + 1) *
330 if (m->pmatch == NULL) {
335 m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
344 free(m->pmatch);
367 assert(m->pmatch[i].rm_so == -1);
368 assert(m->pmatch[i].rm_eo == -1);
388 pmatch[0].rm_so = m->coldp - m->offp;
389 pmatch[0].rm_eo = endp - m->offp;
392 assert(m->pmatch != NULL);
395 pmatch[i] = m->pmatch[i];
397 pmatch[i].rm_so = -1;
398 pmatch[i].rm_eo = -1;
402 if (m->pmatch != NULL)
403 free((char *)m->pmatch);
584 m->pmatch[i].rm_so = sp - m->offp;
589 m->pmatch[i].rm_eo = sp - m->offp;
753 if (m->pmatch[i].rm_eo == -1)
755 assert(m->pmatch[i].rm_so != -1);
756 len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
762 ssp = m->offp + m->pmatch[i].rm_so;
813 offsave = m->pmatch[i].rm_so;
814 m->pmatch[i].rm_so = sp - m->offp;
818 m->pmatch[i].rm_so = offsave;
823 offsave = m->pmatch[i].rm_eo;
824 m->pmatch[i].rm_eo = sp - m->offp;
828 m->pmatch[i].rm_eo = offsave;