Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@sources.redhat.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@sources.redhat.com>
List-Help: <mailto:cygwin-help@sources.redhat.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@sources.redhat.com
Delivered-To: mailing list cygwin@sources.redhat.com
Date: Wed, 14 Feb 2001 22:29:00 -0500
From: Christopher Faylor <cgf@redhat.com>
To: cygwin@cygwin.com
Subject: Re: file descriptors opened as text files
Message-ID: <20010214222900.D25745@redhat.com>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <5.0.2.1.0.20010214171434.00a8f6f0@pop.ma.ultranet.com> <5.0.2.1.0.20010214175309.00a92220@pop.ma.ultranet.com> <3A8B284F.8071591E@ihug.co.nz>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.11i
In-Reply-To: <3A8B284F.8071591E@ihug.co.nz>; from ross.s@ihug.co.nz on Thu, Feb 15, 2001 at 01:52:31PM +1300

On Thu, Feb 15, 2001 at 01:52:31PM +1300, Ross Smith wrote:
>"Larry Hall (RFK Partners Inc)" wrote:
>> 
>> At 05:43 PM 2/14/01, Jean Delvare wrote:
>> 
>> >That may explain why I could not see the flag on linux's man pages. But
>> >there is no man page for open(2) on Cygwin, right ? Then, where am I
>> >supposed to find the value for this flag, if it ever exist ? I can't just
>> >invent it, I guess it won't work ;)
>> 
>> "b" is fine, as you indicated before.  Check the MSDN library at
>> msdn.microsoft.com for one source.  I'm sure you can find this information
>> in any POSIX complaint UNIX API reference.
>
>Possibly not. I don't have a copy of the relevant Posix standard, but
>the Single Unix Standard (which I believe is intended to be a superset
>of Posix) doesn't recognise the binary/text mode distinction.
>
>However, the C standard mandates that fopen() uses text mode by default
>in the absence of the "b" flag, and the C++ standard says the same thing
>about iostreams. So, given that the two higher-level I/O APIs are both
>required to default to text mode, it seems perfectly reasonable to me
>for the lowest-level one, open(), to do the same thing in the absence of
>any standard requirements, and it looks as though the Cygwin designers
>have followed the same reasoning.

I suspect that the main reason for implementing things this way was that
"It works that way with MSVC".  I don't know that anyone really knows
the real reason for this, though.  Maybe it was just a horrible mistake
that has been propagated since the projects inception in 1995.

cgf

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

