diff options
| author | John Birrell <jb@FreeBSD.org> | 1998-05-14 21:45:18 +0000 | 
|---|---|---|
| committer | John Birrell <jb@FreeBSD.org> | 1998-05-14 21:45:18 +0000 | 
| commit | cfc1614a4880433f5adf617cbc883de8986c6271 (patch) | |
| tree | 1841c4098a1373e1b1587f36fe823f96710c26e8 | |
| parent | c6c38f1d7f134463c17f3ac2ffda660417e97d87 (diff) | |
Notes
| -rw-r--r-- | lib/libc/regex/regex2.h | 44 | ||||
| -rw-r--r-- | lib/libc/regex/regexec.c | 24 | 
2 files changed, 34 insertions, 34 deletions
| diff --git a/lib/libc/regex/regex2.h b/lib/libc/regex/regex2.h index 9560e056bd74..cd7b962a39b6 100644 --- a/lib/libc/regex/regex2.h +++ b/lib/libc/regex/regex2.h @@ -77,34 +77,34 @@   */  typedef unsigned long sop;	/* strip operator */  typedef long sopno; -#define	OPRMASK	0xf8000000 -#define	OPDMASK	0x07ffffff +#define	OPRMASK	0xf8000000L +#define	OPDMASK	0x07ffffffL  #define	OPSHIFT	((unsigned)27)  #define	OP(n)	((n)&OPRMASK)  #define	OPND(n)	((n)&OPDMASK)  #define	SOP(op, opnd)	((op)|(opnd))  /* operators			   meaning	operand			*/  /*						(back, fwd are offsets)	*/ -#define	OEND	(1<<OPSHIFT)	/* endmarker	-			*/ -#define	OCHAR	(2<<OPSHIFT)	/* character	unsigned char		*/ -#define	OBOL	(3<<OPSHIFT)	/* left anchor	-			*/ -#define	OEOL	(4<<OPSHIFT)	/* right anchor	-			*/ -#define	OANY	(5<<OPSHIFT)	/* .		-			*/ -#define	OANYOF	(6<<OPSHIFT)	/* [...]	set number		*/ -#define	OBACK_	(7<<OPSHIFT)	/* begin \d	paren number		*/ -#define	O_BACK	(8<<OPSHIFT)	/* end \d	paren number		*/ -#define	OPLUS_	(9<<OPSHIFT)	/* + prefix	fwd to suffix		*/ -#define	O_PLUS	(10<<OPSHIFT)	/* + suffix	back to prefix		*/ -#define	OQUEST_	(11<<OPSHIFT)	/* ? prefix	fwd to suffix		*/ -#define	O_QUEST	(12<<OPSHIFT)	/* ? suffix	back to prefix		*/ -#define	OLPAREN	(13<<OPSHIFT)	/* (		fwd to )		*/ -#define	ORPAREN	(14<<OPSHIFT)	/* )		back to (		*/ -#define	OCH_	(15<<OPSHIFT)	/* begin choice	fwd to OOR2		*/ -#define	OOR1	(16<<OPSHIFT)	/* | pt. 1	back to OOR1 or OCH_	*/ -#define	OOR2	(17<<OPSHIFT)	/* | pt. 2	fwd to OOR2 or O_CH	*/ -#define	O_CH	(18<<OPSHIFT)	/* end choice	back to OOR1		*/ -#define	OBOW	(19<<OPSHIFT)	/* begin word	-			*/ -#define	OEOW	(20<<OPSHIFT)	/* end word	-			*/ +#define	OEND	(1L<<OPSHIFT)	/* endmarker	-			*/ +#define	OCHAR	(2L<<OPSHIFT)	/* character	unsigned char		*/ +#define	OBOL	(3L<<OPSHIFT)	/* left anchor	-			*/ +#define	OEOL	(4L<<OPSHIFT)	/* right anchor	-			*/ +#define	OANY	(5L<<OPSHIFT)	/* .		-			*/ +#define	OANYOF	(6L<<OPSHIFT)	/* [...]	set number		*/ +#define	OBACK_	(7L<<OPSHIFT)	/* begin \d	paren number		*/ +#define	O_BACK	(8L<<OPSHIFT)	/* end \d	paren number		*/ +#define	OPLUS_	(9L<<OPSHIFT)	/* + prefix	fwd to suffix		*/ +#define	O_PLUS	(10L<<OPSHIFT)	/* + suffix	back to prefix		*/ +#define	OQUEST_	(11L<<OPSHIFT)	/* ? prefix	fwd to suffix		*/ +#define	O_QUEST	(12L<<OPSHIFT)	/* ? suffix	back to prefix		*/ +#define	OLPAREN	(13L<<OPSHIFT)	/* (		fwd to )		*/ +#define	ORPAREN	(14L<<OPSHIFT)	/* )		back to (		*/ +#define	OCH_	(15L<<OPSHIFT)	/* begin choice	fwd to OOR2		*/ +#define	OOR1	(16L<<OPSHIFT)	/* | pt. 1	back to OOR1 or OCH_	*/ +#define	OOR2	(17L<<OPSHIFT)	/* | pt. 2	fwd to OOR2 or O_CH	*/ +#define	O_CH	(18L<<OPSHIFT)	/* end choice	back to OOR1		*/ +#define	OBOW	(19L<<OPSHIFT)	/* begin word	-			*/ +#define	OEOW	(20L<<OPSHIFT)	/* end word	-			*/  /*   * Structure for [] character-set representation.  Character sets are diff --git a/lib/libc/regex/regexec.c b/lib/libc/regex/regexec.c index 3890b617869b..80a7ad00a8e0 100644 --- a/lib/libc/regex/regexec.c +++ b/lib/libc/regex/regexec.c @@ -65,24 +65,24 @@ static int nope = 0;		/* for use in asserts; shuts lint up */  #define	states	long  #define	states1	states		/* for later use in regexec() decision */  #define	CLEAR(v)	((v) = 0) -#define	SET0(v, n)	((v) &= ~(1 << (n))) -#define	SET1(v, n)	((v) |= 1 << (n)) -#define	ISSET(v, n)	((v) & (1 << (n))) +#define	SET0(v, n)	((v) &= ~((unsigned long)1 << (n))) +#define	SET1(v, n)	((v) |= (unsigned long)1 << (n)) +#define	ISSET(v, n)	(((v) & ((unsigned long)1 << (n))) != 0)  #define	ASSIGN(d, s)	((d) = (s))  #define	EQ(a, b)	((a) == (b)) -#define	STATEVARS	int dummy	/* dummy version */ +#define	STATEVARS	long dummy	/* dummy version */  #define	STATESETUP(m, n)	/* nothing */  #define	STATETEARDOWN(m)	/* nothing */  #define	SETUP(v)	((v) = 0) -#define	onestate	int -#define	INIT(o, n)	((o) = (unsigned)1 << (n)) +#define	onestate	long +#define	INIT(o, n)	((o) = (unsigned long)1 << (n))  #define	INC(o)	((o) <<= 1) -#define	ISSTATEIN(v, o)	((v) & (o)) +#define	ISSTATEIN(v, o)	(((v) & (o)) != 0)  /* some abbreviations; note that some of these know variable names! */  /* do "if I'm here, I can also be there" etc without branches */ -#define	FWD(dst, src, n)	((dst) |= ((unsigned)(src)&(here)) << (n)) -#define	BACK(dst, src, n)	((dst) |= ((unsigned)(src)&(here)) >> (n)) -#define	ISSETBACK(v, n)	((v) & ((unsigned)here >> (n))) +#define	FWD(dst, src, n)	((dst) |= ((unsigned long)(src)&(here)) << (n)) +#define	BACK(dst, src, n)	((dst) |= ((unsigned long)(src)&(here)) >> (n)) +#define	ISSETBACK(v, n)	(((v) & ((unsigned long)here >> (n))) != 0)  /* function names */  #define SNAMES			/* engine.c looks after details */ @@ -117,13 +117,13 @@ static int nope = 0;		/* for use in asserts; shuts lint up */  #define	ISSET(v, n)	((v)[n])  #define	ASSIGN(d, s)	memcpy(d, s, m->g->nstates)  #define	EQ(a, b)	(memcmp(a, b, m->g->nstates) == 0) -#define	STATEVARS	int vn; char *space +#define	STATEVARS	long vn; char *space  #define	STATESETUP(m, nv)	{ (m)->space = malloc((nv)*(m)->g->nstates); \  				if ((m)->space == NULL) return(REG_ESPACE); \  				(m)->vn = 0; }  #define	STATETEARDOWN(m)	{ free((m)->space); }  #define	SETUP(v)	((v) = &m->space[m->vn++ * m->g->nstates]) -#define	onestate	int +#define	onestate	long  #define	INIT(o, n)	((o) = (n))  #define	INC(o)	((o)++)  #define	ISSTATEIN(v, o)	((v)[o]) | 
