Jack Howarth wrote:
Andrew,
    Thanks. The change...

--- Python-2.4.3/Objects/intobject.c.org        2006-08-23 23:49:33.000000000 
-0400
+++ Python-2.4.3/Objects/intobject.c    2006-08-23 23:52:01.000000000 -0400
@@ -479,7 +479,7 @@
                return DIVMOD_ERROR;
        }
        /* (-sys.maxint-1)/-1 is the only overflow case. */
-       if (y == -1 && x < 0 && x == -x)
+       if (y == -1 && x < 0 && ((unsigned)x) == -(unsigned)x)
                return DIVMOD_OVERFLOW;

or just a much clearer

        if (y == -1 && x == INT_MIN)
                return DIVMOD_OVERFLOW;

(possibly with a #include <limits.h> at the top).

Paolo

Reply via email to