delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Unsubscribe: | <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com> |
List-Subscribe: | <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com> |
List-Archive: | <http://sourceware.cygnus.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sourceware DOT cygnus DOT com> |
List-Help: | <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, |
<http://sourceware.cygnus.com/ml/#faqs> | |
Sender: | cygwin-owner AT sourceware DOT cygnus DOT com |
Delivered-To: | mailing list cygwin AT sourceware DOT cygnus DOT com |
From: | Chris Faylor <cgf AT cygnus DOT com> |
Date: | Sun, 5 Sep 1999 13:06:18 -0400 |
To: | Victor Szel <info AT szelvesz DOT hu> |
Cc: | cygwin AT sourceware DOT cygnus DOT com |
Subject: | Re: BUG: open() O_ flags one bit too high |
Message-ID: | <19990905130618.A754@cygnus.com> |
Reply-To: | cygwin AT sourceware DOT cygnus DOT com |
Mail-Followup-To: | Victor Szel <info AT szelvesz DOT hu>, |
cygwin AT sourceware DOT cygnus DOT com | |
References: | <002a01bef73b$13244db0$0a0ac8c8 AT VECWS1> <19990905021026 DOT A8934 AT cygnus DOT com> <005e01bef777$eff7b5b0$0a0ac8c8 AT VECWS1> |
Mime-Version: | 1.0 |
X-Mailer: | Mutt 0.95.6i |
In-Reply-To: | <005e01bef777$eff7b5b0$0a0ac8c8@VECWS1>; from Victor Szel on Sun, Sep 05, 1999 at 10:23:29AM +0200 |
On Sun, Sep 05, 1999 at 10:23:29AM +0200, Victor Szel wrote: >> >#ifdef __CYGWIN__ >> >/* TODO: Get Cygwin fixed so that this bug fix won't be needed */ >> >static inline int FixCygwinIOflags( int flags ) >> >{ >> > /* Starting with O_CREAT, the Cygwin I/O flags are 1 bit too high */ >> > return ( ( flags & 0x1FF00 ) >> 1 ) | ( flags & 0xFF ); >> >} >> >#endif >> >> System O_CREAT (octal) O_CREAT (hex) >> ---------------------------------------------------- >> Cygwin 01000 0x200 >> Digital UNIX 01000 0x200 >> FreeBSD 01000 0x200 >> Irix 00400 0x100 >> Linux 00100 0x040 >> SCO UNIX 3.2 00400 0x100 >> Solaris 00400 0x100 >> Ultrix 01000 0x200 >> >> What was the bug again? > >It could be that it's some sort of feature/bug in WinNT and not in Cygwin then, >since the O_CREAT flag passed to open() was 0x200, but open always >returned -1 in this case. WinNT 4.0 SP5 and Win2000 Build 2072 is the >same in this respect. If this is the case, a workaround in Cygwin could be >worth considering. If you are using the open in cygwin then it open() will correctly use O_CREAT. It would be inconceivable that this could be wrong. If it was, then hundreds of applications would not work. If you're using cygwin headers in a non-cygwin (aka mingw) application, then, um, that's wrong. You should be using another set of headers. I'm sure that someone will coment on this and let you know which they should be. -chris -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |