On Fri, Jan 25, 2008 at 09:50:14AM +0100, Marco Gerards wrote:
> Vesa Jääskeläinen <[EMAIL PROTECTED]> writes:
>
> (replying to this mail, I didn't receive the first mail over the list...)
>
> > Robert Millan wrote:
> >> On Wed, Jan 23, 2008 at 11:00:57PM +0000, Oleg Strikov wrote:
> >>> Incorrect behavior of grub_file_open () function in e.g. loop context:
> >>>
> >>> char *file_names[] =
> >>> {
> >>> "(hd0,1)/file1", //file do not exist
> >>> "(hd0,1)/file2" //file exist
> >>> };
> >>> grub_file_t file;
> >>> int i;
> >>> for (i = 0; i < 2; i++)
> >>> {
> >>> file = grub_file_open (file_names[i]);
> >>> if (file) {...}
> >>> }
> >>>
> >>> There, we should get positive return in the second case (i == 1), but
> >>> grub_file_open() returns 0.
>
> No, that is not right. This behavior is correct.
>
> When you open the first file, you get an error which you ignore. If
> you think this error is harmless, clear it. So your code is wrong.
Ok, I reverted it. This will uncover another bug somewhere else. I can't
remember what it was about, though.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel