]> git.eshelyaron.com Git - emacs.git/commitdiff
(long_to_cons): Don't assume 32-bit longs.
authorKarl Heuer <kwzh@gnu.org>
Tue, 23 May 1995 00:13:19 +0000 (00:13 +0000)
committerKarl Heuer <kwzh@gnu.org>
Tue, 23 May 1995 00:13:19 +0000 (00:13 +0000)
src/data.c

index 9c7b4a62efbde8c57e0e1cc6db483fd92d1f4f98..0f23c1c6be00687bd0ae6102c1a0284389662aad 100644 (file)
@@ -1615,7 +1615,7 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "T if NUMBER is zero.")
   return Qnil;
 }
 \f
-/* Convert between 32-bit values and pairs of lispy 24-bit values.  */
+/* Convert between full-sized long integers and pairs of lispy integers.  */
 
 Lisp_Object
 long_to_cons (i)
@@ -1625,7 +1625,7 @@ long_to_cons (i)
   unsigned int bot = i & 0xFFFF;
   if (top == 0)
     return make_number (bot);
-  if (top == 0xFFFF)
+  if (top == (unsigned long)-1 >> 16)
     return Fcons (make_number (-1), make_number (bot));
   return Fcons (make_number (top), make_number (bot));
 }