[ECOS] Re: fopen() with 'w+' does not set O_CREAT

Kelvin Lawson klawson@ad-holdings.co.uk
Mon Mar 29 10:10:00 GMT 2004

Hi Andrew,

Thanks for the response. I've sent a proposed fix to the patch list:


Andrew Lunn wrote:

> On Wed, Mar 24, 2004 at 04:18:37PM +0000, Kelvin Lawson wrote:
>>Hi All,
>>I believe the mode settings have been implemented incorrectly for 
>>fopen(). If a file is opened 'w+', it should have O_CREAT set:
>>       w+     Open  for reading and writing.  The file is created
>>              if it does not exist, otherwise  it  is  truncated.
>>              The  stream  is  positioned at the beginning of the
>>              file.
>>However fopen() only sets O_RDWR, without O_CREAT. This is because w+ is 
>>translated to CYG_STREAM_READWRITE by process_mode(), which is 
>>translated to O_RDWR by cyg_stdio_open().
>>This was mentioned on the list a while ago but didn't seem to have any 
>>Have I missed something here ? If not I'll send a patch.
> Please send a patch.
>        Thanks
>           Andrew

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list