]> git.eshelyaron.com Git - emacs.git/commitdiff
(FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
authorGerd Moellmann <gerd@gnu.org>
Thu, 11 Oct 2001 19:13:20 +0000 (19:13 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 11 Oct 2001 19:13:20 +0000 (19:13 +0000)
in case I is of some unsigned type, in which case
MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
comparison becomes bogus.

src/lisp.h

index e51f2f64e5696af168b1b25e8c434fbbf6d6373d..5daac90571af49e501b1111bf3dd46198bcea72e 100644 (file)
@@ -477,7 +477,8 @@ extern Lisp_Object make_number ();
 /* Value is non-zero if C integer I doesn't fit into a Lisp fixnum.  */
 
 #define FIXNUM_OVERFLOW_P(i) \
-  ((i) > MOST_POSITIVE_FIXNUM || (i) < MOST_NEGATIVE_FIXNUM)
+  ((EMACS_INT)(i) > MOST_POSITIVE_FIXNUM \
+   || (EMACS_INT) (i) < MOST_NEGATIVE_FIXNUM)
 
 /* Extract a value or address from a Lisp_Object.  */