From 05202f5eb0b7520794ced68163239f4da963ff83 Mon Sep 17 00:00:00 2001 From: okuji Date: Sat, 29 Jun 2002 20:48:42 +0000 Subject: [PATCH] 2002-06-30 Yoshinori K. Okuji * stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES] (terminal_func): Set CURRENT_TERM to each of selected terminals before calling grub_printf, and restore CURRENT_TERM after it. Reported by Ilguiz Latypov. Prepend a carriage return to the prompting message, because it is ugly that the same messages fulfill the whole screen. --- ChangeLog | 11 ++++++++++- stage2/builtins.c | 14 +++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4ea99e95b..0f528a322 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,13 @@ -2002-06-30 Yoshinori K. Okuji +2002-06-30 Yoshinori K. Okuji + + * stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES] + (terminal_func): Set CURRENT_TERM to each of selected terminals + before calling grub_printf, and restore CURRENT_TERM after it. + Reported by Ilguiz Latypov. + Prepend a carriage return to the prompting message, because it + is ugly that the same messages fulfill the whole screen. + +2002-06-30 Yoshinori K. Okuji * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the conditional statement. Reported by Ilguiz Latypov. diff --git a/stage2/builtins.c b/stage2/builtins.c index 8aaa01985..2d916649d 100644 --- a/stage2/builtins.c +++ b/stage2/builtins.c @@ -4113,7 +4113,19 @@ terminal_func (char *arg, int flags) if ((time1 = getrtsecs ()) != time2 && time1 != 0xFF) { if (! no_message) - grub_printf ("Press any key to continue.\n"); + { + /* Need to set CURRENT_TERM to each of selected + terminals. */ + for (i = 0; term_table[i].name; i++) + if (term_bitmap & (1 << i)) + { + current_term = term_table + i; + grub_printf ("\rPress any key to continue.\n"); + } + + /* Restore CURRENT_TERM. */ + current_term = prev_term; + } time2 = time1; if (to > 0)