From 47239a0fa4ac48ad86071d1bf6e1f9b0dc70b46b Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sun, 26 Jan 2014 03:31:10 +0100 Subject: [PATCH 045/112] * grub-core/term/at_keyboard.c: Tolerate missing keyboard. --- .gitignore | 7 +++++++ ChangeLog | 19 ++++++++++++++++++- grub-core/term/at_keyboard.c | 3 +++ util/grub-mkfont.c | 14 ++++++++------ 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index a0fd566..fe06210 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2014-01-29 Vladimir Serbinenko + + * util/grub-mkfont.c: Downgrade warnings about unhandled features + to debug. + +2014-01-29 Vladimir Serbinenko + + * grub-core/term/at_keyboard.c: Tolerate missing keyboard. + +2014-01-29 Paulo Flabiano Smorigo + + * .gitignore: add missing files and .exe variants. + +2014-01-26 Vladimir Serbinenko + + * grub-core/term/at_keyboard.c: Tolerate missing keyboard. + 2014-01-26 Mike Gilbert grub-install: support for partitioned partx loop devices. @@ -1116,7 +1133,7 @@ 2013-12-14 Vladimir Serbinenko - * .gitignore: Add .exe variants. Add missing files. Remove few outdated + * .gitignore: add .exe variants. add missing files. remove few outdated entries. 2013-12-14 Vladimir Serbinenko diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c index f5071ce..b4257e8 100644 --- a/grub-core/term/at_keyboard.c +++ b/grub-core/term/at_keyboard.c @@ -396,6 +396,9 @@ fetch_key (int *is_break) if (! KEYBOARD_ISREADY (grub_inb (KEYBOARD_REG_STATUS))) return -1; at_key = grub_inb (KEYBOARD_REG_DATA); + /* May happen if no keyboard is connected. Just ignore this. */ + if (at_key == 0xff) + return -1; if (at_key == 0xe0) { e0_received = 1; diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c index 3cb02ad..3de07ee 100644 --- a/util/grub-mkfont.c +++ b/util/grub-mkfont.c @@ -516,8 +516,8 @@ process_cursive (struct gsub_feature *feature, } if (grub_be_to_cpu16 (lookup->flag) & ~GSUB_RTL_CHAR) { - printf (_("Unsupported substitution flag: 0x%x\n"), - grub_be_to_cpu16 (lookup->flag)); + grub_util_info ("unsupported substitution flag: 0x%x", + grub_be_to_cpu16 (lookup->flag)); } switch (feattag) { @@ -577,7 +577,8 @@ process_cursive (struct gsub_feature *feature, There are 2 coverage specifications: list and range. This warning is thrown when another coverage specification is detected. */ - printf (_("Unsupported coverage specification: %d\n"), covertype); + fprintf (stderr, + _("Unsupported coverage specification: %d\n"), covertype); } } } @@ -616,7 +617,8 @@ add_font (struct grub_font_info *font_info, FT_Face face, int nocut) grub_uint32_t feattag = grub_be_to_cpu32 (features->features[i].feature_tag); if (feature->params) - printf (_("WARNING: unsupported font feature parameters: %x\n"), + fprintf (stderr, + _("WARNING: unsupported font feature parameters: %x\n"), grub_be_to_cpu16 (feature->params)); switch (feattag) { @@ -647,8 +649,8 @@ add_font (struct grub_font_info *font_info, FT_Face face, int nocut) if (!grub_isgraph (str[j])) str[j] = '?'; /* TRANSLATORS: It's gsub feature, not gsub font. */ - printf (_("Unknown gsub font feature 0x%x (%s)\n"), - feattag, str); + grub_util_info ("Unknown gsub font feature 0x%x (%s)", + feattag, str); } } } -- 1.8.5.3