diff Python/ceval.c @ 28086:2474381527bb legacy-trunk

In the process of adding all the extended slice support I attempted to change _PyEval_SliceIndex to round massively negative longs up to -INT_MAX, instead of 0 but botched it. Get it right. Thx to Armin for the report.
author Michael W. Hudson <mwh@python.net>
date Thu, 27 Feb 2003 14:50:34 +0000
parents fcb39b0a6e30
children c24a23b1f198
line wrap: on
line diff
--- a/Python/ceval.c	Thu Feb 27 06:59:10 2003 +0000
+++ b/Python/ceval.c	Thu Feb 27 14:50:34 2003 +0000
@@ -3614,8 +3614,8 @@
 
 				/* It's an overflow error, so we need to
 				   check the sign of the long integer,
-				   set the value to INT_MAX or 0, and clear
-				   the error. */
+				   set the value to INT_MAX or -INT_MAX, 
+				   and clear the error. */
 
 				/* Create a long integer with a value of 0 */
 				long_zero = PyLong_FromLong(0L);
@@ -3628,10 +3628,10 @@
 				Py_DECREF(long_zero);
 				if (cmp < 0)
 					return 0;
-				else if (cmp > 0)
+				else if (cmp)
 					x = INT_MAX;
 				else
-					x = 0;
+					x = -INT_MAX;
 			}
 		} else {
 			PyErr_SetString(PyExc_TypeError,