Lines Matching +defs:scan +defs:c

1 /*	$NetBSD: regcomp.c,v 1.49 2025/01/01 18:19:50 christos Exp $	*/
6 * Copyright (c) 1992, 1993, 1994 Henry Spencer.
7 * Copyright (c) 1992, 1993, 1994
10 * Copyright (c) 2011 The FreeBSD Foundation
42 * @(#)regcomp.c 8.5 (Berkeley) 3/20/94
51 static char sccsid[] = "@(#)regcomp.c 8.5 (Berkeley) 3/20/94";
52 __FBSDID("$FreeBSD: head/lib/libc/regex/regcomp.c 368359 2020-12-05 03:18:48Z kevans $");
54 __RCSID("$NetBSD: regcomp.c,v 1.49 2025/01/01 18:19:50 christos Exp $");
133 /* === regcomp.c === */
150 static int p_b_pseudoclass(struct parse *p, char c);
177 static int altoffset(sop *scan, int offset);
198 #define SEE(c) (MORE() && PEEK() == (c))
201 #define EAT(c) ((SEE(c)) ? (NEXT(), 1) : 0)
211 #define MUSTSEE(c, e) (REQUIRE(MORE() && PEEK() == (c), e))
212 #define MUSTEAT(c, e) (REQUIRE(MORE() && GETNEXT() == (c), e))
213 #define MUSTNOTSEE(c, e) (REQUIRE(!MORE() || PEEK() != (c), e))
260 __regex_iswctype(wint_t c, wctype_t ct)
264 return (*wctypes[ct - 1].func)(c);
443 char c;
459 c = GETNEXT();
465 switch (c) {
626 c = PEEK();
628 if (!( c == '*' || c == '+' || c == '?' || c == '{'))
630 else if (c == '{')
636 switch (c) {
679 c = PEEK();
680 if (!( c == '*' || c == '+' || c == '?' ||
681 (c == '{' && MORE2() && isdigit((uch)PEEK2())) ) )
886 int c;
901 c = (uch)GETNEXT();
902 if (c == '\\') {
905 c = BACKSL | cc;
909 switch (c) {
956 switch (c) {
1003 i = (c&~BACKSL) - '0';
1030 if ((c & BACKSL) == 0 || may_escape(p, wc))
1069 } else if (c == '$') /* $ (but not \$) ends it */
1178 char c;
1192 c = (MORE2()) ? PEEK2() : '\0';
1198 c = '\0';
1202 switch (c) {
1206 c = PEEK();
1207 (void)REQUIRE(c != '-' && c != ']', REG_ECTYPE);
1215 c = PEEK();
1216 (void)REQUIRE(c != '-' && c != ']', REG_ECOLLATE);
1258 == static int p_b_pseudoclass(struct parse *p, char c)
1261 p_b_pseudoclass(struct parse *p, char c) {
1270 switch (c) {
1340 wint_t c;
1345 c = p_b_coll_elem(p, '=');
1346 CHadd(p, cs, c);
2005 sop *scan;
2036 scan = g->strip + 1;
2038 s = *scan++;
2043 newstart = scan - 1;
2061 offset = altoffset(scan, offset);
2062 scan--;
2064 scan += OPND(s);
2065 s = *scan;
2170 scan = start;
2173 while (OP(s = *scan++) != OCHAR)
2189 == static int altoffset(sop *scan, int offset);
2195 altoffset(sop *scan, int offset)
2201 _DIAGASSERT(scan != NULL);
2209 s = *scan++;
2219 try = altoffset(scan, try);
2222 scan--;
2224 scan += OPND(s);
2225 s = *scan;
2233 scan++;
2254 s = *scan++;
2264 - computejumps - compute char jumps for BM scan
2309 - computematchjumps - compute match jumps for BM scan
2402 sop *scan;
2413 scan = g->strip + 1;
2415 s = *scan++;