Argh. "integer" is a very confusing word ;)
Actually, checking for INT_MAX and INT_MIN is correct since
the format code explicitly handles a C "int".
diff --git a/Python/getargs.c b/Python/getargs.c
index 727376d..1552790 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -624,12 +624,12 @@
 		ival = PyInt_AsLong(arg);
 		if (ival == -1 && PyErr_Occurred())
 			return converterr("integer<i>", arg, msgbuf, bufsize);
-		else if (ival > LONG_MAX) {
+		else if (ival > INT_MAX) {
 			PyErr_SetString(PyExc_OverflowError,
 				"signed integer is greater than maximum");
 			return converterr("integer<i>", arg, msgbuf, bufsize);
 		}
-		else if (ival < LONG_MIN) {
+		else if (ival < INT_MIN) {
 			PyErr_SetString(PyExc_OverflowError,
 				"signed integer is less than minimum");
 			return converterr("integer<i>", arg, msgbuf, bufsize);