diff src/keyboard.c @ 15412:7824cf167226

(read_char): Use unsigned to compare against the size of Vkeyboard_translate_table. Check size for char-table too.
author Richard M. Stallman <rms@gnu.org>
date Wed, 12 Jun 1996 15:20:37 +0000
parents 546fea3a3d3d
children 0b4fc263d4f2
line wrap: on
line diff
--- a/src/keyboard.c	Wed Jun 12 15:00:48 1996 +0000
+++ b/src/keyboard.c	Wed Jun 12 15:20:37 1996 +0000
@@ -2096,11 +2096,12 @@
 	return c;
 
       if (STRINGP (Vkeyboard_translate_table)
-	  && XSTRING (Vkeyboard_translate_table)->size > XFASTINT (c))
+	  && XSTRING (Vkeyboard_translate_table)->size > (unsigned) XFASTINT (c))
 	XSETINT (c, XSTRING (Vkeyboard_translate_table)->data[XFASTINT (c)]);
       else if ((VECTORP (Vkeyboard_translate_table)
-		&& XVECTOR (Vkeyboard_translate_table)->size > XFASTINT (c))
-	       || CHAR_TABLE_P (Vkeyboard_translate_table))
+		&& XVECTOR (Vkeyboard_translate_table)->size > (unsigned) XFASTINT (c))
+	       || (CHAR_TABLE_P (Vkeyboard_translate_table)
+		   && CHAR_TABLE_ORDINARY_SLOTS > (unsigned) XFASTINT (c)))
 	{
 	  Lisp_Object d;
 	  d = Faref (Vkeyboard_translate_table, c);