Commit 42fc137e authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #1024670: Support int objects in PyLong_AsUnsignedLong[Mask].

parent a1c07551
......@@ -12,7 +12,7 @@ What's New in Python 2.4 beta 1?
Core and builtins
-----------------
...
- PyLong_AsUnsignedLong[Mask] now support int objects as well.
Extension modules
-----------------
......
......@@ -245,6 +245,15 @@ PyLong_AsUnsignedLong(PyObject *vv)
int i;
if (vv == NULL || !PyLong_Check(vv)) {
if (vv != NULL && PyInt_Check(vv)) {
long val = PyInt_AsLong(vv);
if (val < 0) {
PyErr_SetString(PyExc_OverflowError,
"can't convert negative value to unsigned long");
return (unsigned long) -1;
}
return val;
}
PyErr_BadInternalCall();
return (unsigned long) -1;
}
......@@ -279,6 +288,8 @@ PyLong_AsUnsignedLongMask(PyObject *vv)
int i, sign;
if (vv == NULL || !PyLong_Check(vv)) {
if (vv != NULL && PyInt_Check(vv))
return PyInt_AsUnsignedLongMask(vv);
PyErr_BadInternalCall();
return (unsigned long) -1;
}
......
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