Issue #12965: Fix some inaccurate comments in Objects/longobject.c. Thanks Stefan Krah.
This commit is contained in:
parent
30970e9e44
commit
8d48b43ea9
|
@ -322,8 +322,15 @@ PyLong_FromDouble(double dval)
|
||||||
#define PY_ABS_LONG_MIN (0-(unsigned long)LONG_MIN)
|
#define PY_ABS_LONG_MIN (0-(unsigned long)LONG_MIN)
|
||||||
#define PY_ABS_SSIZE_T_MIN (0-(size_t)PY_SSIZE_T_MIN)
|
#define PY_ABS_SSIZE_T_MIN (0-(size_t)PY_SSIZE_T_MIN)
|
||||||
|
|
||||||
/* Get a C long int from a long int object.
|
/* Get a C long int from a long int object or any object that has an __int__
|
||||||
Returns -1 and sets an error condition if overflow occurs. */
|
method.
|
||||||
|
|
||||||
|
On overflow, return -1 and set *overflow to 1 or -1 depending on the sign of
|
||||||
|
the result. Otherwise *overflow is 0.
|
||||||
|
|
||||||
|
For other errors (e.g., TypeError), return -1 and set an error condition.
|
||||||
|
In this case *overflow will be 0.
|
||||||
|
*/
|
||||||
|
|
||||||
long
|
long
|
||||||
PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
|
PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
|
||||||
|
@ -412,6 +419,9 @@ PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Get a C long int from a long int object or any object that has an __int__
|
||||||
|
method. Return -1 and set an error if overflow occurs. */
|
||||||
|
|
||||||
long
|
long
|
||||||
PyLong_AsLong(PyObject *obj)
|
PyLong_AsLong(PyObject *obj)
|
||||||
{
|
{
|
||||||
|
@ -923,7 +933,7 @@ _PyLong_AsByteArray(PyLongObject* v,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create a new long (or int) object from a C pointer */
|
/* Create a new long int object from a C pointer */
|
||||||
|
|
||||||
PyObject *
|
PyObject *
|
||||||
PyLong_FromVoidPtr(void *p)
|
PyLong_FromVoidPtr(void *p)
|
||||||
|
@ -941,15 +951,11 @@ PyLong_FromVoidPtr(void *p)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get a C pointer from a long object (or an int object in some cases) */
|
/* Get a C pointer from a long int object. */
|
||||||
|
|
||||||
void *
|
void *
|
||||||
PyLong_AsVoidPtr(PyObject *vv)
|
PyLong_AsVoidPtr(PyObject *vv)
|
||||||
{
|
{
|
||||||
/* This function will allow int or long objects. If vv is neither,
|
|
||||||
then the PyLong_AsLong*() functions will raise the exception:
|
|
||||||
PyExc_SystemError, "bad argument to internal function"
|
|
||||||
*/
|
|
||||||
#if SIZEOF_VOID_P <= SIZEOF_LONG
|
#if SIZEOF_VOID_P <= SIZEOF_LONG
|
||||||
long x;
|
long x;
|
||||||
|
|
||||||
|
@ -1130,8 +1136,8 @@ PyLong_FromSize_t(size_t ival)
|
||||||
return (PyObject *)v;
|
return (PyObject *)v;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get a C PY_LONG_LONG int from a long int object.
|
/* Get a C long long int from a long int object or any object that has an
|
||||||
Return -1 and set an error if overflow occurs. */
|
__int__ method. Return -1 and set an error if overflow occurs. */
|
||||||
|
|
||||||
PY_LONG_LONG
|
PY_LONG_LONG
|
||||||
PyLong_AsLongLong(PyObject *vv)
|
PyLong_AsLongLong(PyObject *vv)
|
||||||
|
@ -1287,12 +1293,14 @@ PyLong_AsUnsignedLongLongMask(register PyObject *op)
|
||||||
}
|
}
|
||||||
#undef IS_LITTLE_ENDIAN
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
|
||||||
/* Get a C long long int from a Python long or Python int object.
|
/* Get a C long long int from a long int object or any object that has an
|
||||||
On overflow, returns -1 and sets *overflow to 1 or -1 depending
|
__int__ method.
|
||||||
on the sign of the result. Otherwise *overflow is 0.
|
|
||||||
|
|
||||||
For other errors (e.g., type error), returns -1 and sets an error
|
On overflow, return -1 and set *overflow to 1 or -1 depending on the sign of
|
||||||
condition.
|
the result. Otherwise *overflow is 0.
|
||||||
|
|
||||||
|
For other errors (e.g., TypeError), return -1 and set an error condition.
|
||||||
|
In this case *overflow will be 0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
PY_LONG_LONG
|
PY_LONG_LONG
|
||||||
|
|
Loading…
Reference in New Issue