Lines Matching refs:pmatch
75 regmatch_t *pmatch; /* [nsub+1] (0 element unused) */
94 static int matcher __P((struct re_guts *g, RCHAR_T *string, size_t nmatch, regmatch_t pmatch[], int eflags));
134 == size_t nmatch, regmatch_t pmatch[], int eflags);
137 matcher(g, string, nmatch, pmatch, eflags)
141 regmatch_t pmatch[];
163 start = string + pmatch[0].rm_so;
164 stop = string + pmatch[0].rm_eo;
185 m->pmatch = NULL;
221 if (m->pmatch == NULL)
222 m->pmatch = (regmatch_t *)malloc((m->g->nsub + 1) *
224 if (m->pmatch == NULL) {
229 m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
238 free(m->pmatch);
261 assert(m->pmatch[i].rm_so == -1);
262 assert(m->pmatch[i].rm_eo == -1);
280 pmatch[0].rm_so = m->coldp - m->offp;
281 pmatch[0].rm_eo = endp - m->offp;
284 assert(m->pmatch != NULL);
287 pmatch[i] = m->pmatch[i];
289 pmatch[i].rm_so = -1;
290 pmatch[i].rm_eo = -1;
294 if (m->pmatch != NULL)
295 free((char *)m->pmatch);
474 m->pmatch[i].rm_so = sp - m->offp;
479 m->pmatch[i].rm_eo = sp - m->offp;
613 if (m->pmatch[i].rm_eo == -1)
615 assert(m->pmatch[i].rm_so != -1);
616 len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
620 ssp = m->offp + m->pmatch[i].rm_so;
674 offsave = m->pmatch[i].rm_so;
675 m->pmatch[i].rm_so = sp - m->offp;
679 m->pmatch[i].rm_so = offsave;
685 offsave = m->pmatch[i].rm_eo;
686 m->pmatch[i].rm_eo = sp - m->offp;
690 m->pmatch[i].rm_eo = offsave;