]> granicus.if.org Git - python/commitdiff
Vladimir Marangozov:
authorGuido van Rossum <guido@python.org>
Wed, 28 Jun 2000 23:53:56 +0000 (23:53 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 28 Jun 2000 23:53:56 +0000 (23:53 +0000)
This patch fixes a problem on AIX with the signed int case code in
getargs.c, after Trent Mick's intervention about MIN/MAX overflow
checks. The AIX compiler/optimizer generates bogus code with the
default flags "-g -O" causing test_builtin to fail: int("10", 16) <>
16L. Swapping the two checks in the signed int code makes the problem
go away.

Also, make the error messages fit in 80 char lines in the
source.

Python/getargs.c

index 69ef16797ac424cd9ad36ff8f75be499a83dd9f6..8cb4197447b325dbc2ce03d066a772632c063366 100644 (file)
@@ -473,12 +473,12 @@ convertsimple1(arg, p_format, p_va)
                                return "integer<b>";
                        else if (ival < 0) {
                                PyErr_SetString(PyExc_OverflowError,
-                                       "unsigned byte integer is less than minimum");
+                             "unsigned byte integer is less than minimum");
                                return "integer<b>";
                        }
                        else if (ival > UCHAR_MAX) {
                                PyErr_SetString(PyExc_OverflowError,
-                                   "unsigned byte integer is greater than maximum");
+                             "unsigned byte integer is greater than maximum");
                                return "integer<b>";
                        }
                        else
@@ -494,12 +494,12 @@ convertsimple1(arg, p_format, p_va)
                                return "integer<h>";
                        else if (ival < SHRT_MIN) {
                                PyErr_SetString(PyExc_OverflowError,
-                                       "signed short integer is less than minimum");
+                             "signed short integer is less than minimum");
                                return "integer<h>";
                        }
                        else if (ival > SHRT_MAX) {
                                PyErr_SetString(PyExc_OverflowError,
-                                 "signed short integer is greater than maximum");
+                             "signed short integer is greater than maximum");
                                return "integer<h>";
                        }
                        else
@@ -513,14 +513,14 @@ convertsimple1(arg, p_format, p_va)
                        long ival = PyInt_AsLong(arg);
                        if (ival == -1 && PyErr_Occurred())
                                return "integer<i>";
-                       else if (ival < INT_MIN) {
+                       else if (ival > INT_MAX) {
                                PyErr_SetString(PyExc_OverflowError,
-                                       "signed integer is less than minimum");
+                                   "signed integer is greater than maximum");
                                return "integer<i>";
                        }
-                       else if (ival > INT_MAX) {
+                       else if (ival < INT_MIN) {
                                PyErr_SetString(PyExc_OverflowError,
-                                 "signed integer is greater than maximum");
+                                   "signed integer is less than minimum");
                                return "integer<i>";
                        }
                        else