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
PyNumber_Index first. If an overflow error occurs while
}
-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;
if (PyLong_Check(integral))
Py_DECREF(trunc_func);
/* __trunc__ is specified to return an Integral type,
but long() needs to return a long. */
- int_instance = _PyNumber_ConvertIntegralToInt(
- truncated,
+ int_instance = convert_integral_to_int(truncated,
"__trunc__ returned non-Integral (type %.200s)");
return int_instance;
}