You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Howard Fear <hs...@pooh.pageplus.com> on 1996/07/24 00:14:37 UTC

Re: RegExp stuff to be included in 1.2?

Alexei Kosut writes:
> Sounds good to me. So we have two +1 votes on incorporating Henry
> Spencer's POSIX-compatible regex package into Apache (Ben's and mine).
> Anyone have a third, or a -1? If someone else +1s it, I'll take the
> requisite parts and commit them. Then we can fix the warning, which, near
> as I can tell, comes about because the Solaris cc is too stupid to realize
> that an unsigned long is supposed to be an unsigned long. But I haven't
> figured out exactly how to fix it yet (it's no doubt easy).

I have patches for this which I sent Henry.  He said that he was working
on a rewrite so he didn't incorporate them directly.  But he did give them
a once over.

--
Howard Fear      email1: howard_fear@pageplus.com
                 email2: howard_fear@stortek.com
                 http://www.pageplus.com/~hsf/

--
*** regex2.h.orig	Fri Jun  7 17:06:27 1996
--- regex2.h	Fri Jun  7 17:06:27 1996
***************
*** 46,71 ****
  #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	-			*/
  
  /*
   * Structure for [] character-set representation.  Character sets are
--- 46,71 ----
  #define	SOP(op, opnd)	((op)|(opnd))
  /* operators			   meaning	operand			*/
  /*						(back, fwd are offsets)	*/
! #define	OEND	(1ul<<OPSHIFT)	/* endmarker	-			*/
! #define	OCHAR	(2ul<<OPSHIFT)	/* character	unsigned char		*/
! #define	OBOL	(3ul<<OPSHIFT)	/* left anchor	-			*/
! #define	OEOL	(4ul<<OPSHIFT)	/* right anchor	-			*/
! #define	OANY	(5ul<<OPSHIFT)	/* .		-			*/
! #define	OANYOF	(6ul<<OPSHIFT)	/* [...]	set number		*/
! #define	OBACK_	(7ul<<OPSHIFT)	/* begin \d	paren number		*/
! #define	O_BACK	(8ul<<OPSHIFT)	/* end \d	paren number		*/
! #define	OPLUS_	(9ul<<OPSHIFT)	/* + prefix	fwd to suffix		*/
! #define	O_PLUS	(10ul<<OPSHIFT)	/* + suffix	back to prefix		*/
! #define	OQUEST_	(11ul<<OPSHIFT)	/* ? prefix	fwd to suffix		*/
! #define	O_QUEST	(12ul<<OPSHIFT)	/* ? suffix	back to prefix		*/
! #define	OLPAREN	(13ul<<OPSHIFT)	/* (		fwd to )		*/
! #define	ORPAREN	(14ul<<OPSHIFT)	/* )		back to (		*/
! #define	OCH_	(15ul<<OPSHIFT)	/* begin choice	fwd to OOR2		*/
! #define	OOR1	(16ul<<OPSHIFT)	/* | pt. 1	back to OOR1 or OCH_	*/
! #define	OOR2	(17ul<<OPSHIFT)	/* | pt. 2	fwd to OOR2 or O_CH	*/
! #define	O_CH	(18ul<<OPSHIFT)	/* end choice	back to OOR1		*/
! #define	OBOW	(19ul<<OPSHIFT)	/* begin word	-			*/
! #define	OEOW	(20ul<<OPSHIFT)	/* end word	-			*/
  
  /*
   * Structure for [] character-set representation.  Character sets are

*** utils.h.orig	Fri Jun  7 17:06:27 1996
--- utils.h	Fri Jun  7 17:06:27 1996
***************
*** 1,5 ****
--- 1,9 ----
  /* utility definitions */
+ #ifdef _POSIX2_RE_DUP_MAX
  #define	DUPMAX		_POSIX2_RE_DUP_MAX	/* xxx is this right? */
+ #else
+ #define DUPMAX          255
+ #endif
  #define	INFINITY	(DUPMAX + 1)
  #define	NC		(CHAR_MAX - CHAR_MIN + 1)
  typedef unsigned char uch;