This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH v3][BZ #12685] Allow arbitrary number of modes in fopen.


On 05/15/2013 05:17 AM, OndÅej BÃlka wrote:
> On Tue, May 14, 2013 at 02:55:10PM +0200, Andreas Schwab wrote:
>> OndÅej BÃlka <neleai@seznam.cz> writes:
>>
>>> On Tue, May 14, 2013 at 02:31:14PM +0200, Andreas Schwab wrote:
>>>> OndÅej BÃlka <neleai@seznam.cz> writes:
>>>>
>>>>> diff --git a/libio/fileops.c b/libio/fileops.c
>>>>> index 61b61b3..50c3eb2 100644
>>>>> --- a/libio/fileops.c
>>>>> +++ b/libio/fileops.c
>>>>> @@ -286,12 +286,10 @@ _IO_new_file_fopen (fp, filename, mode, is32not64)
>>>>>  #ifdef _LIBC
>>>>>    last_recognized = mode;
>>>>>  #endif
>>>>> -  for (i = 1; i < 7; ++i)
>>>>> +  while (*mode && *mode != ',')
>>>>>      {
>>>>>        switch (*++mode)
>>>>
>>>> That reads mode[1], but the loop conditions tests mode[0].
>>>>
>>> This is still valid, to preserve original control flow.
>>
>> But useless, since '\0' and ',' are processed before being tested for.
>> You should increment in the loop condition.
> I moved it.
> 
>         * libio/fileops.c (_IO_new_file_fopen): Allow arbitrary number of modes.
>         * libio/iofdopen.c (_IO_new_fdopen): Likewise.                          
>         * libio/test-fopen-bz12685.c: New file.
>         * libio/Makefile (tests): Updated.     

Please use test-skeleton.c for your test.

Cheers,
Carlos.


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