Commit f913f4d3 authored by Stefan Behnel's avatar Stefan Behnel

streamline __Pyx_PyInt_AsSize_t() a bit

parent e6b4ffbd
...@@ -280,11 +280,10 @@ static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { ...@@ -280,11 +280,10 @@ static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x); unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) { if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
return (size_t)-1; if ((val != (unsigned PY_LONG_LONG)-1) || !PyErr_Occurred())
} else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) { PyErr_SetString(PyExc_OverflowError,
PyErr_SetString(PyExc_OverflowError, "value too large to convert to size_t");
"value too large to convert to size_t");
return (size_t)-1; return (size_t)-1;
} }
return (size_t)val; return (size_t)val;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment