diff --git a/ChangeLog b/ChangeLog index a421e2aef..df02a4ee6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +1999-11-06 OKUJI Yoshinori + + * grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call + wrefresh. This was just an accident. Sorry. + + Reported by Alan McLean : + * stage2/builtins.c (embed_func): The sector argument for the + function biosdisk is changed from SECTOR + I * SECTOR_SIZE to + SECTOR + I. + (find_func): Clear ERRNUM before each of the attempts. + 1999-11-05 OKUJI Yoshinori * docs/multiboot.texi (Boot information format): Add the members diff --git a/grub/asmstub.c b/grub/asmstub.c index 1f547b5f3..9998e6b2b 100644 --- a/grub/asmstub.c +++ b/grub/asmstub.c @@ -741,10 +741,7 @@ grub_putchar (int c) { #ifdef HAVE_LIBCURSES if (use_curses) - { - addch (c); - wrefresh (stdscr); - } + addch (c); else #endif putchar (c); diff --git a/stage2/builtins.c b/stage2/builtins.c index 0906ebd0f..fd78b8253 100644 --- a/stage2/builtins.c +++ b/stage2/builtins.c @@ -645,7 +645,7 @@ embed_func (char *arg, int flags) grub_memmove ((char *) SCRATCHADDR, stage1_5_buffer + i * SECTOR_SIZE, SECTOR_SIZE); if (biosdisk (BIOSDISK_WRITE, current_drive, &buf_geom, - sector + i * SECTOR_SIZE, 1, SCRATCHSEG)) + sector + i, 1, SCRATCHSEG)) { errnum = ERR_WRITE; return 1; @@ -707,6 +707,7 @@ find_func (char *arg, int flags) /* Floppies. */ for (drive = 0; drive < 8; drive++) { + errnum = ERR_NONE; current_drive = drive; current_partition = 0xFFFFFF; @@ -726,11 +727,12 @@ find_func (char *arg, int flags) for (drive = 0x80; drive < 0x88; drive++) { unsigned long slice; - + current_drive = drive; /* FIXME: is what maximum number right? */ for (slice = 0; slice < 12; slice++) { + errnum = ERR_NONE; current_partition = (slice << 16) | 0xFFFF; if (! open_device () && IS_PC_SLICE_TYPE_BSD (current_slice)) { @@ -738,6 +740,7 @@ find_func (char *arg, int flags) for (part = 0; part < 8; part++) { + errnum = ERR_NONE; current_partition = (slice << 16) | (part << 8) | 0xFF; if (! open_device ()) continue; @@ -754,6 +757,7 @@ find_func (char *arg, int flags) } else { + errnum = ERR_NONE; saved_drive = current_drive; saved_partition = current_partition; if (grub_open (filename)) @@ -765,7 +769,7 @@ find_func (char *arg, int flags) } } - errnum = 0; + errnum = ERR_NONE; saved_drive = tmp_drive; saved_partition = tmp_partition; return 0;