Lines Matching refs:regset
118 /* Go through `regset' and set submatch data for submatches that are
121 tre_purge_regset(int *regset, tre_tnfa_t *tnfa, int tag)
125 for (i = 0; regset[i] >= 0; i++)
127 int id = regset[i] / 2;
128 int start = !(regset[i] % 2);
137 regset[0] = -1;
153 int *regset, *orig_regset;
170 regset = xmalloc(sizeof(*regset) * ((tnfa->num_submatches + 1) * 2));
171 if (regset == NULL)
173 regset[0] = -1;
174 orig_regset = regset;
179 xfree(regset);
187 xfree(regset);
215 /* Add end of this submatch to regset. */
216 for (i = 0; regset[i] >= 0; i++);
217 regset[i] = id * 2 + 1;
218 regset[i + 1] = -1;
235 /* Add start of this submatch to regset. */
236 for (i = 0; regset[i] >= 0; i++);
237 regset[i] = id * 2;
238 regset[i + 1] = -1;
260 /* Add end of this submatch to regset after processing this
277 if (regset[0] >= 0)
295 tre_purge_regset(regset, tnfa, tag);
304 regset[0] = -1;
361 STACK_PUSHX(stack, int, regset[0] >= 0 || iter->minimal);
375 if (regset[0] >= 0 || iter->minimal)
395 tre_purge_regset(regset, tnfa, tag);
399 regset[0] = -1;
415 if (regset[0] >= 0)
431 STACK_PUSHX(stack, voidptr, regset);
432 STACK_PUSHX(stack, int, regset[0] >= 0);
450 if (regset[0] >= 0)
467 tre_purge_regset(regset, tnfa, tag);
471 regset[0] = -1;
556 /* Lift the bottom of the `regset' array so that when processing
560 while (*regset >= 0)
561 regset++;
578 regset = tre_stack_pop_voidptr(stack);
615 tre_purge_regset(regset, tnfa, tag);