diff options
Diffstat (limited to 'Modules/_csv.c')
-rw-r--r-- | Modules/_csv.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/Modules/_csv.c b/Modules/_csv.c index 7a78541..e5324ae 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -209,23 +209,17 @@ _set_int(const char *name, int *target, PyObject *src, int dflt) if (src == NULL) *target = dflt; else { - long value; + int value; if (!PyLong_CheckExact(src)) { PyErr_Format(PyExc_TypeError, "\"%s\" must be an integer", name); return -1; } - value = PyLong_AsLong(src); - if (value == -1 && PyErr_Occurred()) - return -1; -#if SIZEOF_LONG > SIZEOF_INT - if (value > INT_MAX || value < INT_MIN) { - PyErr_Format(PyExc_ValueError, - "integer out of range for \"%s\"", name); + value = _PyLong_AsInt(src); + if (value == -1 && PyErr_Occurred()) { return -1; } -#endif - *target = (int)value; + *target = value; } return 0; } |