This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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 
> response:
> http://sources.redhat.com/ml/ecos-discuss/2002-11/msg00333.html
> 
> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]