Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Mon, 7 May 2001 15:25:14 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Regular expressions compile call. Message-ID: <20010507152514.B24200@cygbert.vinschen.de> Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from oddvard.myrnes@stoltoffshore.no on Mon, May 07, 2001 at 02:33:09PM +0200 On Mon, May 07, 2001 at 02:33:09PM +0200, oddvard DOT myrnes AT stoltoffshore DOT no wrote: > I am working on a cygwin port from Linux. Straight forward, but one thing > puzzels me. Why is the regcomp call diffrent. I have to use this pice of > code to make it work on both platforms: > > #ifdef cygwin > regex_t *re; > #else > regex_t a, *re; > re = &a; > #endif > > i = regcomp(re, filter, REG_EXTENDED); > > If I use a preallocated buffer in Cygwin i get an i = 269335288 = random. > Program gets unstable after the call. If I use a pointer it works. > > On the linux box (Suse 7.0) I get a segmentation violation trying to run > with a pointer. Will run fine with a preallocated buffer. They are oposite > in behavior. What do I miss? Cygwin itself contains a very old implementation of regex which isn't compatible with any standard I'm aware of. But the Cygwin net distro contains two packages regex-4.4 and pcre-3.4 which provide libraries which contain POSIX regex APIs. If you have installed them (recommended), just include the correct headers regex-4.4: regex.h pcre-3.4: pcreposix.h and link with regex-4.4: -lregex pcre-3.4: -lpcre -lpcreposix Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple