mirror of
https://github.com/python/cpython.git
synced 2025-11-13 07:26:31 +00:00
make _PyNumber_ConvertIntegralToInt static, since it's only used in abstract.c
This commit is contained in:
parent
d614e707ca
commit
b7f1da5a3c
2 changed files with 10 additions and 19 deletions
|
|
@ -772,21 +772,6 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
|
||||||
|
|
||||||
PyAPI_FUNC(Py_ssize_t) PyNumber_AsSsize_t(PyObject *o, PyObject *exc);
|
PyAPI_FUNC(Py_ssize_t) PyNumber_AsSsize_t(PyObject *o, PyObject *exc);
|
||||||
|
|
||||||
/*
|
|
||||||
Returns the Integral instance converted to an int. The
|
|
||||||
instance is expected to be int or long or have an __int__
|
|
||||||
method. Steals integral's reference. error_format will be
|
|
||||||
used to create the TypeError if integral isn't actually an
|
|
||||||
Integral instance. error_format should be a format string
|
|
||||||
that can accept a char* naming integral's type.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef Py_LIMITED_API
|
|
||||||
PyAPI_FUNC(PyObject *) _PyNumber_ConvertIntegralToInt(
|
|
||||||
PyObject *integral,
|
|
||||||
const char* error_format);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Returns the object converted to Py_ssize_t by going through
|
Returns the object converted to Py_ssize_t by going through
|
||||||
PyNumber_Index first. If an overflow error occurs while
|
PyNumber_Index first. If an overflow error occurs while
|
||||||
|
|
|
||||||
|
|
@ -1268,8 +1268,15 @@ PyNumber_AsSsize_t(PyObject *item, PyObject *err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PyObject *
|
/*
|
||||||
_PyNumber_ConvertIntegralToInt(PyObject *integral, const char* error_format)
|
Returns the Integral instance converted to an int. The instance is expected
|
||||||
|
to be an int or have an __int__ method. Steals integral's
|
||||||
|
reference. error_format will be used to create the TypeError if integral
|
||||||
|
isn't actually an Integral instance. error_format should be a format string
|
||||||
|
that can accept a char* naming integral's type.
|
||||||
|
*/
|
||||||
|
static PyObject *
|
||||||
|
convert_integral_to_int(PyObject *integral, const char *error_format)
|
||||||
{
|
{
|
||||||
PyNumberMethods *nb;
|
PyNumberMethods *nb;
|
||||||
if (PyLong_Check(integral))
|
if (PyLong_Check(integral))
|
||||||
|
|
@ -1345,8 +1352,7 @@ PyNumber_Long(PyObject *o)
|
||||||
Py_DECREF(trunc_func);
|
Py_DECREF(trunc_func);
|
||||||
/* __trunc__ is specified to return an Integral type,
|
/* __trunc__ is specified to return an Integral type,
|
||||||
but long() needs to return a long. */
|
but long() needs to return a long. */
|
||||||
int_instance = _PyNumber_ConvertIntegralToInt(
|
int_instance = convert_integral_to_int(truncated,
|
||||||
truncated,
|
|
||||||
"__trunc__ returned non-Integral (type %.200s)");
|
"__trunc__ returned non-Integral (type %.200s)");
|
||||||
return int_instance;
|
return int_instance;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue