Blob Blame History Raw
From 47239a0fa4ac48ad86071d1bf6e1f9b0dc70b46b Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
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  <phcoder@gmail.com>
+
+	* util/grub-mkfont.c: Downgrade warnings about unhandled features
+	to debug.
+
+2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+
+	* grub-core/term/at_keyboard.c: Tolerate missing keyboard.
+
+2014-01-29  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
+
+	* .gitignore: add missing files and .exe variants.
+
+2014-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
+
+	* grub-core/term/at_keyboard.c: Tolerate missing keyboard.
+
 2014-01-26  Mike Gilbert <floppym@gentoo.org>
 
 	grub-install: support for partitioned partx loop devices.
@@ -1116,7 +1133,7 @@
 
 2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-	* .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  <phcoder@gmail.com>
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