Lines Matching refs:pmatch
84 regmatch_t *pmatch; /* [nsub+1] (0 element unused) */
104 static int matcher(struct re_guts *g, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
147 == size_t nmatch, regmatch_t pmatch[], int eflags);
153 regmatch_t pmatch[],
177 start = string + pmatch[0].rm_so;
178 stop = string + pmatch[0].rm_eo;
233 m->pmatch = NULL;
256 if (m->pmatch != NULL)
257 free((char *)m->pmatch);
281 if (m->pmatch == NULL)
282 m->pmatch = (regmatch_t *)malloc((m->g->nsub + 1) *
284 if (m->pmatch == NULL) {
289 m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
298 free(m->pmatch);
321 assert(m->pmatch[i].rm_so == -1);
322 assert(m->pmatch[i].rm_eo == -1);
342 pmatch[0].rm_so = m->coldp - m->offp;
343 pmatch[0].rm_eo = endp - m->offp;
346 assert(m->pmatch != NULL);
349 pmatch[i] = m->pmatch[i];
351 pmatch[i].rm_so = -1;
352 pmatch[i].rm_eo = -1;
356 if (m->pmatch != NULL)
357 free((char *)m->pmatch);
534 m->pmatch[i].rm_so = sp - m->offp;
539 m->pmatch[i].rm_eo = sp - m->offp;
674 if (m->pmatch[i].rm_eo == -1)
676 assert(m->pmatch[i].rm_so != -1);
677 len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
683 ssp = m->offp + m->pmatch[i].rm_so;
734 offsave = m->pmatch[i].rm_so;
735 m->pmatch[i].rm_so = sp - m->offp;
739 m->pmatch[i].rm_so = offsave;
744 offsave = m->pmatch[i].rm_eo;
745 m->pmatch[i].rm_eo = sp - m->offp;
749 m->pmatch[i].rm_eo = offsave;