* bidi.c: Integer size and overflow fixes.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 14 Jul 2011 21:57:00 +0000 (14:57 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 14 Jul 2011 21:57:00 +0000 (14:57 -0700)
commit39e378da07fe365c6442dc95b937539eb31fe8ef
tree10c7326987b394c895bf792a67abefc133be36ab
parent3f86c085fa6eb34547ac04cf2be31f6cc3681e48
* bidi.c: Integer size and overflow fixes.

(bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx)
(bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search)
(bidi_cache_find_level_change, bidi_cache_ensure_space)
(bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack)
(bidi_find_other_level_edge):
Use ptrdiff_t instead of EMACS_INT where either will do.
This works better on 32-bit hosts configured --with-wide-int.
(bidi_cache_ensure_space): Check for size-calculation overflow.
Use % rather than repeated addition, for better worst-case speed.
Don't set bidi_cache_size until after xrealloc returns, because it
might not return.
(bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow.
src/ChangeLog
src/bidi.c