summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-03-21 18:44:43 (GMT)
committerBenjamin Peterson <benjamin@python.org>2012-03-21 18:44:43 (GMT)
commitb7f1da5a3c699fe95d7364f29c71f101e65257fa (patch)
tree714ddaa51a9657562b1831a101e25f66b6bd8ad2 /Objects
parentd614e707caafc87bd644c1da51ea817c3df54d7b (diff)
downloadcpython-b7f1da5a3c699fe95d7364f29c71f101e65257fa.zip
cpython-b7f1da5a3c699fe95d7364f29c71f101e65257fa.tar.gz
cpython-b7f1da5a3c699fe95d7364f29c71f101e65257fa.tar.bz2
make _PyNumber_ConvertIntegralToInt static, since it's only used in abstract.c
Diffstat (limited to 'Objects')
-rw-r--r--Objects/abstract.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 345b96a..e60601b 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -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;
if (PyLong_Check(integral))
@@ -1345,8 +1352,7 @@ PyNumber_Long(PyObject *o)
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;
}