diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2011-06-12 18:38:25 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2011-06-12 18:38:25 -0700 |
commit | 8fd02eb7d30a7e0e98cc863e0f3cb81a954fe8a9 (patch) | |
tree | e90fd66b1c8fd1620d65b758d541dd648fbe3bc9 /src/chartab.c | |
parent | f8c86b69a8489f33709de6b869be369a34d5adb0 (diff) | |
download | emacs-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.c | 6 |
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. */ } |