At Mon, 6 May 2002 17:08:05 -0700,
Gary Poppitz wrote:
> In fsys_tftp.c: line ~392
> 
>       /* Read the data.  */
>       if (! buf_fill (0))
>       {
>         errnum = ERR_READ;
>         return 0;
>       }
> I think it is better to do       if (size > 0 && ! buf_fill (0))
> Otherwise, large file xfers get confused with extra RRQ's.

Could you elaborate on that? What case can that be wrong in?

> In builtins.c : install_func
> 
> #endif /* GRUB_UTIL */
>     {
>       /* The first.  */
>       current_drive = src_drive;           //These two are clearly wrong
>       current_partition = src_partition;
> 
>       if (! open_partition ())
>       goto fail;
> 
>       if (! devwrite (stage2_first_sector - src_part_start, 1,
>                     stage2_first_buffer))
>       goto fail;
> 
> 
> Since we are writing out our stuff, better point to the dest drive!

No. I don't think you understand the code correctly. Stage 2 always
sits on the source drive.

> Since the strcmp is an arithmetic compare, returning <0 is quite legal.
> This will cause the search to terminate too soon. How this worked at all I 
> dont know.

You don't look at the whole code. The table is sorted out already.

> Also, when there is nothing else to do, removing the hoarde of globals in 
> this code would be a great improvement. Just try to do a copy function from 
> one drive to another with the current setup.

I failed to see what you mean here unfortunately.

Thanks,
Okuji

_______________________________________________
Bug-grub mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-grub

Reply via email to