Lines Matching refs:pmatch
72 regmatch_t *pmatch; /* [nsub+1] (0 element unused) */
91 static int matcher(struct re_guts *g, const RCHAR_T *string, size_t nmatch, regmatch_t pmatch[], int eflags);
133 regmatch_t pmatch[], int eflags)
149 start = string + pmatch[0].rm_so;
150 stop = string + pmatch[0].rm_eo;
171 m->pmatch = NULL;
207 if (m->pmatch == NULL)
208 m->pmatch = (regmatch_t *)malloc((m->g->nsub + 1) *
210 if (m->pmatch == NULL) {
215 m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
224 free(m->pmatch);
247 assert(m->pmatch[i].rm_so == -1);
248 assert(m->pmatch[i].rm_eo == -1);
266 pmatch[0].rm_so = m->coldp - m->offp;
267 pmatch[0].rm_eo = endp - m->offp;
270 assert(m->pmatch != NULL);
273 pmatch[i] = m->pmatch[i];
275 pmatch[i].rm_so = -1;
276 pmatch[i].rm_eo = -1;
280 if (m->pmatch != NULL)
281 free((char *)m->pmatch);
453 m->pmatch[i].rm_so = sp - m->offp;
458 m->pmatch[i].rm_eo = sp - m->offp;
585 if (m->pmatch[i].rm_eo == -1)
587 assert(m->pmatch[i].rm_so != -1);
588 len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
592 ssp = m->offp + m->pmatch[i].rm_so;
646 offsave = m->pmatch[i].rm_so;
647 m->pmatch[i].rm_so = sp - m->offp;
651 m->pmatch[i].rm_so = offsave;
657 offsave = m->pmatch[i].rm_eo;
658 m->pmatch[i].rm_eo = sp - m->offp;
662 m->pmatch[i].rm_eo = offsave;