delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/01/08/08:48:44

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
X-Apparently-From: <earnie?boyd AT yahoo DOT com>
Message-ID: <3A59C529.4342E4D4@yahoo.com>
Date: Mon, 08 Jan 2001 08:48:25 -0500
From: Earnie Boyd <earnie_boyd AT yahoo DOT com>
Reply-To: perl5-porters AT perl DOT org, cygwin AT sources DOT redhat DOT com
X-Mailer: Mozilla 4.76 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: "Charles S. Wilson" <cwilson AT ece DOT gatech DOT edu>
CC: Reini Urban <rurban AT sbox DOT tu-graz DOT ac DOT at>, perl5-porters AT perl DOT org,
cygwin AT sources DOT redhat DOT com
Subject: Re: perl-5.6.1 DB_file support
References: <3A5605B3 DOT AAC25D7F AT sbox DOT tu-graz DOT ac DOT at> <3A59255F DOT 85918DE8 AT sbox DOT tu-graz DOT ac DOT at> <3A5966E5 DOT 735999FE AT ece DOT gatech DOT edu>

"Charles S. Wilson" wrote:
> 
> Reini Urban wrote:
> > However, something new:
> > A minor required db-3.2.3f patch for cygwin
> >
> > --- db-3.2.3f/os/os_tmpdir.c.orig       Tue Jul  4 21:30:16 2000
> > +++ db-3.2.3f/os/os_tmpdir.c    Sun Jan  7 21:58:30 2001
> > @@ -96,6 +96,9 @@
> >         }
> >  #endif
> >  #ifdef _WIN32
> > +# ifndef _MAX_PATH
> > +#  define _MAX_PATH 260
> > +# endif
> >         /* Get the path to the temporary directory. */
> >         {int len;
> >          char temp[_MAX_PATH + 1];
> 
> AARRGHH.  No no no.  Cygwin is not WIN32.  While some packages, when
> ported to cygwin, do rely on code within #ifdef _WIN32 blocks, this is a
> mistake.  If you want to use code for WIN32 and for cygwin, then do:
> 

Well, I'm perplexed that it MAX_PATH and _MAX_PATH isn't set in the
Cygwin headers already somewhere.  I find MAX_PATH in mingw/stdlib.h and
w32api/windef.h.  I find _MAX_PATH defined in mingw/stdlib.h as the
value of MAX_PATH.

> #if defined(_WIN32) || defined(__CYGWIN__)
> 
> To accommodate *bad* ports, cygwin's gcc used to define _WIN32, but that
> behavior will be dropped soon IIRC.

Where did you get that piece of information or are you dreaming? 
Although I would wholeheartedly support such a move, I don't think that
the Cygwin's commercial client list would be that happy about such a
move.

> Also, IMO, burying a constant
> definition like that in the middle of a .c is just poor programming.
> Put it in a header file somewhere, at the very least.  Best, find out
> where the appropriate cygwin MAXPATH constant is defined in cygwin's
> system headers and #include the appropriate .h.
> 

I agree.  But, a caution here is in order, don't include the
mingw/stdlib.h for a Cygwin program, they are only for use by the
-mno-cygwin switch.  IMO, we need to add MAX_PATH and _MAX_PATH to
stdlib.h of Cygwin which requires a Newlib patch.

Cheers,
Earnie.

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019