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 Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel