Commit 9e1a06fc authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Fix last change in bidi_mirror_char.

parent f3dd7312
2012-05-27 Eli Zaretskii <eliz@gnu.org>
* bidi.c (bidi_mirror_char): Fix last change.
2012-05-27 Andreas Schwab <schwab@linux-m68k.org> 2012-05-27 Andreas Schwab <schwab@linux-m68k.org>
* unexmacosx.c (copy_data_segment): Truncate after 16 characters * unexmacosx.c (copy_data_segment): Truncate after 16 characters
......
...@@ -204,8 +204,18 @@ bidi_mirror_char (int c) ...@@ -204,8 +204,18 @@ bidi_mirror_char (int c)
val = CHAR_TABLE_REF (bidi_mirror_table, c); val = CHAR_TABLE_REF (bidi_mirror_table, c);
if (INTEGERP (val)) if (INTEGERP (val))
{ {
int v = XINT (val);
/* In a build with extra checks, make sure the value does not
overflow a 32-bit int. */
eassert (CHAR_VALID_P (XINT (val))); eassert (CHAR_VALID_P (XINT (val)));
return XINT (val);
/* Minimal test we must do in optimized builds, to prevent weird
crashes further down the road. */
if (v < 0 || v > MAX_CHAR)
abort ();
return v;
} }
return c; return c;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment