summaryrefslogtreecommitdiff
path: root/src/chartab.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-06-12 18:38:25 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-06-12 18:38:25 -0700
commit8fd02eb7d30a7e0e98cc863e0f3cb81a954fe8a9 (patch)
treee90fd66b1c8fd1620d65b758d541dd648fbe3bc9 /src/chartab.c
parentf8c86b69a8489f33709de6b869be369a34d5adb0 (diff)
downloademacs-8fd02eb7d30a7e0e98cc863e0f3cb81a954fe8a9.tar.gz
* chartab.c (Fchar_table_range): Use CHARACTERP to check range.
Otherwise, an out-of-range integer could cause undefined behavior on a 64-bit host.
Diffstat (limited to 'src/chartab.c')
-rw-r--r--src/chartab.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/chartab.c b/src/chartab.c
index 2f40ceee6ce..ed5b238646e 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -524,15 +524,15 @@ a cons of character codes (for characters in the range), or a character code. *
if (EQ (range, Qnil))
val = XCHAR_TABLE (char_table)->defalt;
- else if (INTEGERP (range))
- val = CHAR_TABLE_REF (char_table, XINT (range));
+ else if (CHARACTERP (range))
+ val = CHAR_TABLE_REF (char_table, XFASTINT (range));
else if (CONSP (range))
{
int from, to;
CHECK_CHARACTER_CAR (range);
CHECK_CHARACTER_CDR (range);
- val = char_table_ref_and_range (char_table, XINT (XCAR (range)),
+ val = char_table_ref_and_range (char_table, XFASTINT (XCAR (range)),
&from, &to);
/* Not yet implemented. */
}