Lines Matching full:re
180 r->err_str = "RE is too long (code overflow)"; in emit()
189 r->err_str = "RE is too long (data overflow)"; in store_char_in_data()
195 exact(struct slre *r, const char **re) in exact() argument
199 while (**re != '\0' && (strchr(meta_chars, **re)) == NULL) in exact()
200 store_char_in_data(r, *(*re)++); in exact()
208 get_escape_char(const char **re) in get_escape_char() argument
212 switch (*(*re)++) { in get_escape_char()
235 res = (*re)[-1]; in get_escape_char()
243 anyof(struct slre *r, const char **re) in anyof() argument
247 if (**re == '^') { in anyof()
249 (*re)++; in anyof()
252 while (**re != '\0') in anyof()
254 switch (*(*re)++) { in anyof()
263 esc = get_escape_char(re); in anyof()
272 store_char_in_data(r, (*re)[-1]); in anyof()
321 compile(struct slre *r, const char **re) in compile() argument
330 switch (*(*re)++) { in compile()
332 (*re)--; in compile()
348 anyof(r, re); in compile()
352 esc = get_escape_char(re); in compile()
364 compile(r, re); in compile()
365 if (*(*re)++ != ')') { in compile()
374 (*re)--; in compile()
385 op = (*re)[-1] == '*' ? STAR : PLUS; in compile()
386 if (**re == '?') { in compile()
387 (*re)++; in compile()
404 (*re)--; in compile()
406 exact(r, re); in compile()
412 slre_compile(struct slre *r, const char *re) in slre_compile() argument
417 if (*re == '^') in slre_compile()
420 emit(r, OPEN); /* This will capture what matches full RE */ in slre_compile()
423 while (*re != '\0') in slre_compile()
424 compile(r, &re); in slre_compile()