Lines Matching refs:pmatch
35 regmatch_t *pmatch; /* [nsub+1] (0 element unused) */ member
66 matcher(g, string, nmatch, pmatch, eflags) in matcher() argument
70 regmatch_t pmatch[];
87 start = string + pmatch[0].rm_so;
88 stop = string + pmatch[0].rm_eo;
109 m->pmatch = NULL;
145 if (m->pmatch == NULL)
146 m->pmatch = (regmatch_t *)malloc((m->g->nsub + 1) *
148 if (m->pmatch == NULL) {
153 m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
162 free(m->pmatch);
185 assert(m->pmatch[i].rm_so == -1);
186 assert(m->pmatch[i].rm_eo == -1);
204 pmatch[0].rm_so = m->coldp - m->offp;
205 pmatch[0].rm_eo = endp - m->offp;
208 assert(m->pmatch != NULL);
211 pmatch[i] = m->pmatch[i];
213 pmatch[i].rm_so = -1;
214 pmatch[i].rm_eo = -1;
218 if (m->pmatch != NULL)
219 free((char *)m->pmatch);
397 m->pmatch[i].rm_so = sp - m->offp;
402 m->pmatch[i].rm_eo = sp - m->offp;
528 if (m->pmatch[i].rm_eo == -1)
530 assert(m->pmatch[i].rm_so != -1);
531 len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
535 ssp = m->offp + m->pmatch[i].rm_so;
589 offsave = m->pmatch[i].rm_so;
590 m->pmatch[i].rm_so = sp - m->offp;
594 m->pmatch[i].rm_so = offsave;
600 offsave = m->pmatch[i].rm_eo;
601 m->pmatch[i].rm_eo = sp - m->offp;
605 m->pmatch[i].rm_eo = offsave;