[Python-checkins] CVS: python/dist/src/Python getargs.c,2.33,2.34
Guido van Rossum
python-dev@python.org
Wed, 28 Jun 2000 16:53:59 -0700
Update of /cvsroot/python/python/dist/src/Python
In directory slayer.i.sourceforge.net:/tmp/cvs-serv25100
Modified Files:
getargs.c
Log Message:
Vladimir Marangozov:
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.
Index: getargs.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/getargs.c,v
retrieving revision 2.33
retrieving revision 2.34
diff -C2 -r2.33 -r2.34
*** getargs.c 2000/05/09 21:50:00 2.33
--- getargs.c 2000/06/28 23:53:56 2.34
***************
*** 474,483 ****
else if (ival < 0) {
PyErr_SetString(PyExc_OverflowError,
! "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");
return "integer<b>";
}
--- 474,483 ----
else if (ival < 0) {
PyErr_SetString(PyExc_OverflowError,
! "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");
return "integer<b>";
}
***************
*** 495,504 ****
else if (ival < SHRT_MIN) {
PyErr_SetString(PyExc_OverflowError,
! "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");
return "integer<h>";
}
--- 495,504 ----
else if (ival < SHRT_MIN) {
PyErr_SetString(PyExc_OverflowError,
! "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");
return "integer<h>";
}
***************
*** 514,525 ****
if (ival == -1 && PyErr_Occurred())
return "integer<i>";
! else if (ival < INT_MIN) {
PyErr_SetString(PyExc_OverflowError,
! "signed integer is less than minimum");
return "integer<i>";
}
! else if (ival > INT_MAX) {
PyErr_SetString(PyExc_OverflowError,
! "signed integer is greater than maximum");
return "integer<i>";
}
--- 514,525 ----
if (ival == -1 && PyErr_Occurred())
return "integer<i>";
! else if (ival > INT_MAX) {
PyErr_SetString(PyExc_OverflowError,
! "signed integer is greater than maximum");
return "integer<i>";
}
! else if (ival < INT_MIN) {
PyErr_SetString(PyExc_OverflowError,
! "signed integer is less than minimum");
return "integer<i>";
}