Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <005e01bef777$eff7b5b0$0a0ac8c8@VECWS1> From: "Victor Szel" To: References: <002a01bef73b$13244db0$0a0ac8c8 AT VECWS1> <19990905021026 DOT A8934 AT cygnus DOT com> Subject: Re: BUG: open() O_ flags one bit too high Date: Sun, 5 Sep 1999 10:23:29 +0200 Organization: Szelvesz Bt. MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2918.2701 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2918.2701 Chris, > >#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. Victor Szel -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com