diff options
author | Benjamin Peterson <benjamin@python.org> | 2012-03-21 18:44:43 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2012-03-21 18:44:43 (GMT) |
commit | b7f1da5a3c699fe95d7364f29c71f101e65257fa (patch) | |
tree | 714ddaa51a9657562b1831a101e25f66b6bd8ad2 /Objects | |
parent | d614e707caafc87bd644c1da51ea817c3df54d7b (diff) | |
download | cpython-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.c | 14 |
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; } |