bpo-40792: Make the result of PyNumber_Index() always having exact type int. (GH-20443)
Previously, the result could have been an instance of a subclass of int. Also revert bpo-26202 and make attributes start, stop and step of the range object having exact type int. Add private function _PyNumber_Index() which preserves the old behavior of PyNumber_Index() for performance to use it in the conversion functions like PyLong_AsLong().
This commit is contained in:
parent
eaca2aa117
commit
5f4b229df7
|
@ -256,6 +256,10 @@ Number Protocol
|
|||
Returns the *o* converted to a Python int on success or ``NULL`` with a
|
||||
:exc:`TypeError` exception raised on failure.
|
||||
|
||||
.. versionchanged:: 3.10
|
||||
The result always has exact type :class:`int`. Previously, the result
|
||||
could have been an instance of a subclass of ``int``.
|
||||
|
||||
|
||||
.. c:function:: PyObject* PyNumber_ToBase(PyObject *n, int base)
|
||||
|
||||
|
|
|
@ -112,6 +112,10 @@ The mathematical and bitwise operations are the most numerous:
|
|||
|
||||
Return *a* converted to an integer. Equivalent to ``a.__index__()``.
|
||||
|
||||
.. versionchanged:: 3.10
|
||||
The result always has exact type :class:`int`. Previously, the result
|
||||
could have been an instance of a subclass of ``int``.
|
||||
|
||||
|
||||
.. function:: inv(obj)
|
||||
invert(obj)
|
||||
|
|
|
@ -129,6 +129,10 @@ C API Changes
|
|||
New Features
|
||||
------------
|
||||
|
||||
The result of :c:func:`PyNumber_Index` now always has exact type :class:`int`.
|
||||
Previously, the result could have been an instance of a subclass of ``int``.
|
||||
(Contributed by Serhiy Storchaka in :issue:`40792`.)
|
||||
|
||||
|
||||
Porting to Python 3.10
|
||||
----------------------
|
||||
|
|
|
@ -379,6 +379,9 @@ PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index,
|
|||
/* Convert Python int to Py_ssize_t. Do nothing if the argument is None. */
|
||||
PyAPI_FUNC(int) _Py_convert_optional_to_ssize_t(PyObject *, void *);
|
||||
|
||||
/* Same as PyNumber_Index but can return an instance of a subclass of int. */
|
||||
PyAPI_FUNC(PyObject *) _PyNumber_Index(PyObject *o);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -192,6 +192,7 @@ d[bytes] = _deepcopy_atomic
|
|||
d[str] = _deepcopy_atomic
|
||||
d[types.CodeType] = _deepcopy_atomic
|
||||
d[type] = _deepcopy_atomic
|
||||
d[range] = _deepcopy_atomic
|
||||
d[types.BuiltinFunctionType] = _deepcopy_atomic
|
||||
d[types.FunctionType] = _deepcopy_atomic
|
||||
d[weakref.ref] = _deepcopy_atomic
|
||||
|
|
|
@ -1332,7 +1332,7 @@ test_Py_ssize_t_converter(PyObject *module, PyObject *const *args, Py_ssize_t na
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1347,7 +1347,7 @@ test_Py_ssize_t_converter(PyObject *module, PyObject *const *args, Py_ssize_t na
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1373,7 +1373,7 @@ exit:
|
|||
static PyObject *
|
||||
test_Py_ssize_t_converter_impl(PyObject *module, Py_ssize_t a, Py_ssize_t b,
|
||||
Py_ssize_t c)
|
||||
/*[clinic end generated code: output=ea781bb7169b3436 input=3855f184bb3f299d]*/
|
||||
/*[clinic end generated code: output=3bf73f9fdfeab468 input=3855f184bb3f299d]*/
|
||||
|
||||
|
||||
/*[clinic input]
|
||||
|
|
|
@ -357,7 +357,7 @@ class TestCopy(unittest.TestCase):
|
|||
pass
|
||||
tests = [None, 42, 2**100, 3.14, True, False, 1j,
|
||||
"hello", "hello\u1234", f.__code__,
|
||||
NewStyle, Classic, max, property()]
|
||||
NewStyle, range(10), Classic, max, property()]
|
||||
for x in tests:
|
||||
self.assertIs(copy.deepcopy(x), x)
|
||||
|
||||
|
@ -579,17 +579,6 @@ class TestCopy(unittest.TestCase):
|
|||
self.assertIsNot(y, x)
|
||||
self.assertIs(y.foo, y)
|
||||
|
||||
def test_deepcopy_range(self):
|
||||
class I(int):
|
||||
pass
|
||||
x = range(I(10))
|
||||
y = copy.deepcopy(x)
|
||||
self.assertIsNot(y, x)
|
||||
self.assertEqual(y, x)
|
||||
self.assertIsNot(y.stop, x.stop)
|
||||
self.assertEqual(y.stop, x.stop)
|
||||
self.assertIsInstance(y.stop, I)
|
||||
|
||||
# _reconstruct()
|
||||
|
||||
def test_reconstruct_string(self):
|
||||
|
|
|
@ -648,11 +648,17 @@ class RangeTest(unittest.TestCase):
|
|||
self.assert_attrs(range(0, 10, 3), 0, 10, 3)
|
||||
self.assert_attrs(range(10, 0, -1), 10, 0, -1)
|
||||
self.assert_attrs(range(10, 0, -3), 10, 0, -3)
|
||||
self.assert_attrs(range(True), 0, 1, 1)
|
||||
self.assert_attrs(range(False, True), 0, 1, 1)
|
||||
self.assert_attrs(range(False, True, True), 0, 1, 1)
|
||||
|
||||
def assert_attrs(self, rangeobj, start, stop, step):
|
||||
self.assertEqual(rangeobj.start, start)
|
||||
self.assertEqual(rangeobj.stop, stop)
|
||||
self.assertEqual(rangeobj.step, step)
|
||||
self.assertIs(type(rangeobj.start), int)
|
||||
self.assertIs(type(rangeobj.stop), int)
|
||||
self.assertIs(type(rangeobj.step), int)
|
||||
|
||||
with self.assertRaises(AttributeError):
|
||||
rangeobj.start = 0
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
The result of :c:func:`PyNumber_Index` now always has exact type :class:`int`.
|
||||
Previously, the result could have been an instance of a subclass of ``int``.
|
|
@ -0,0 +1,3 @@
|
|||
Attributes ``start``, ``stop`` and ``step`` of the :class:`range` object now
|
||||
always has exact type :class:`int`. Previously, they could have been an
|
||||
instance of a subclass of ``int``.
|
|
@ -0,0 +1,2 @@
|
|||
The result of :func:`operator.index` now always has exact type :class:`int`.
|
||||
Previously, the result could have been an instance of a subclass of ``int``.
|
|
@ -532,7 +532,7 @@ PyNumber_AsOff_t(PyObject *item, PyObject *err)
|
|||
{
|
||||
Py_off_t result;
|
||||
PyObject *runerr;
|
||||
PyObject *value = PyNumber_Index(item);
|
||||
PyObject *value = _PyNumber_Index(item);
|
||||
if (value == NULL)
|
||||
return -1;
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ _io__Buffered_peek(buffered *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -197,7 +197,7 @@ _io__Buffered_read1(buffered *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -421,7 +421,7 @@ _io_BufferedReader___init__(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(fastargs[1]);
|
||||
PyObject *iobj = _PyNumber_Index(fastargs[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -475,7 +475,7 @@ _io_BufferedWriter___init__(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(fastargs[1]);
|
||||
PyObject *iobj = _PyNumber_Index(fastargs[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -567,7 +567,7 @@ _io_BufferedRWPair___init__(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(PyTuple_GET_ITEM(args, 2));
|
||||
PyObject *iobj = _PyNumber_Index(PyTuple_GET_ITEM(args, 2));
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -621,7 +621,7 @@ _io_BufferedRandom___init__(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(fastargs[1]);
|
||||
PyObject *iobj = _PyNumber_Index(fastargs[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -637,4 +637,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=1882bb497ddc9375 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=98ccf7610c0e82ba input=a9049054013a1b77]*/
|
||||
|
|
|
@ -404,7 +404,7 @@ _io_BytesIO_seek(bytesio *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -505,4 +505,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=ba0f302f16397741 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=49a32140eb8c5555 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -276,7 +276,7 @@ _io__RawIOBase_read(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -310,4 +310,4 @@ _io__RawIOBase_readall(PyObject *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return _io__RawIOBase_readall_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=1f9ce590549593be input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=83c1361a7a51ca84 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -179,7 +179,7 @@ _io_StringIO_seek(stringio *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -338,4 +338,4 @@ _io_StringIO_seekable(stringio *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return _io_StringIO_seekable_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=9c428b2942d54991 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=eea93dcab10d0a97 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -452,7 +452,7 @@ _io_TextIOWrapper_readline(textio *self, PyObject *const *args, Py_ssize_t nargs
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -671,4 +671,4 @@ _io_TextIOWrapper_close(textio *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return _io_TextIOWrapper_close_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=ea96ee1eb3a71f77 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=2604c8f3a45b9a03 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -121,7 +121,7 @@ get_pylong(PyObject *v)
|
|||
if (!PyLong_Check(v)) {
|
||||
/* Not an integer; try to use __index__ to convert. */
|
||||
if (PyIndex_Check(v)) {
|
||||
v = PyNumber_Index(v);
|
||||
v = _PyNumber_Index(v);
|
||||
if (v == NULL)
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -344,7 +344,7 @@ II_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
|
|||
int do_decref = 0; /* if nb_int was called */
|
||||
|
||||
if (!PyLong_Check(v)) {
|
||||
v = PyNumber_Index(v);
|
||||
v = _PyNumber_Index(v);
|
||||
if (NULL == v) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ LL_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
|
|||
int do_decref = 0; /* if nb_int was called */
|
||||
|
||||
if (!PyLong_Check(v)) {
|
||||
v = PyNumber_Index(v);
|
||||
v = _PyNumber_Index(v);
|
||||
if (NULL == v) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -457,7 +457,7 @@ QQ_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
|
|||
int do_decref = 0; /* if nb_int was called */
|
||||
|
||||
if (!PyLong_Check(v)) {
|
||||
v = PyNumber_Index(v);
|
||||
v = _PyNumber_Index(v);
|
||||
if (NULL == v) {
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ _bisect_bisect_right(PyObject *module, PyObject *const *args, Py_ssize_t nargs,
|
|||
if (args[2]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -119,7 +119,7 @@ _bisect_insort_right(PyObject *module, PyObject *const *args, Py_ssize_t nargs,
|
|||
if (args[2]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -189,7 +189,7 @@ _bisect_bisect_left(PyObject *module, PyObject *const *args, Py_ssize_t nargs, P
|
|||
if (args[2]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -260,7 +260,7 @@ _bisect_insort_left(PyObject *module, PyObject *const *args, Py_ssize_t nargs, P
|
|||
if (args[2]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -283,4 +283,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=e9097a9acd10b13f input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=6cf46f205659f01a input=a9049054013a1b77]*/
|
||||
|
|
|
@ -159,7 +159,7 @@ _bz2_BZ2Decompressor_decompress(BZ2Decompressor *self, PyObject *const *args, Py
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -210,4 +210,4 @@ _bz2_BZ2Decompressor___init__(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=c69a7de8e26c2ad1 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=b49102ee26928a28 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -52,7 +52,7 @@ tuplegetter_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(PyTuple_GET_ITEM(args, 0));
|
||||
PyObject *iobj = _PyNumber_Index(PyTuple_GET_ITEM(args, 0));
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -68,4 +68,4 @@ tuplegetter_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=439d77631a056b4d input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=947186d369f50f1e input=a9049054013a1b77]*/
|
||||
|
|
|
@ -432,7 +432,7 @@ _elementtree_Element_insert(ElementObject *self, PyObject *const *args, Py_ssize
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -915,4 +915,4 @@ skip_optional:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=c98b210c525a9338 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=1385b5e5688f3614 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -94,7 +94,7 @@ EVPXOF_digest(EVPobject *self, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -141,7 +141,7 @@ EVPXOF_hexdigest(EVPobject *self, PyObject *const *args, Py_ssize_t nargs, PyObj
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1417,4 +1417,4 @@ exit:
|
|||
#ifndef _HASHLIB_GET_FIPS_MODE_METHODDEF
|
||||
#define _HASHLIB_GET_FIPS_MODE_METHODDEF
|
||||
#endif /* !defined(_HASHLIB_GET_FIPS_MODE_METHODDEF) */
|
||||
/*[clinic end generated code: output=95447a60132f039e input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=2bbd6159493f44ea input=a9049054013a1b77]*/
|
||||
|
|
|
@ -118,7 +118,7 @@ _lzma_LZMADecompressor_decompress(Decompressor *self, PyObject *const *args, Py_
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -319,4 +319,4 @@ exit:
|
|||
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=a87074ca902bd432 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=d6e997ebc269f78f input=a9049054013a1b77]*/
|
||||
|
|
|
@ -1426,7 +1426,7 @@ _operator_length_hint(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1486,4 +1486,4 @@ _operator__compare_digest(PyObject *module, PyObject *const *args, Py_ssize_t na
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=1fe4adf4f5761420 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=eae5d08f971a65fd input=a9049054013a1b77]*/
|
||||
|
|
|
@ -193,7 +193,7 @@ _sre_SRE_Pattern_match(PatternObject *self, PyObject *const *args, Py_ssize_t na
|
|||
if (args[1]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -209,7 +209,7 @@ _sre_SRE_Pattern_match(PatternObject *self, PyObject *const *args, Py_ssize_t na
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -262,7 +262,7 @@ _sre_SRE_Pattern_fullmatch(PatternObject *self, PyObject *const *args, Py_ssize_
|
|||
if (args[1]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -278,7 +278,7 @@ _sre_SRE_Pattern_fullmatch(PatternObject *self, PyObject *const *args, Py_ssize_
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -333,7 +333,7 @@ _sre_SRE_Pattern_search(PatternObject *self, PyObject *const *args, Py_ssize_t n
|
|||
if (args[1]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -349,7 +349,7 @@ _sre_SRE_Pattern_search(PatternObject *self, PyObject *const *args, Py_ssize_t n
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -402,7 +402,7 @@ _sre_SRE_Pattern_findall(PatternObject *self, PyObject *const *args, Py_ssize_t
|
|||
if (args[1]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -418,7 +418,7 @@ _sre_SRE_Pattern_findall(PatternObject *self, PyObject *const *args, Py_ssize_t
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -473,7 +473,7 @@ _sre_SRE_Pattern_finditer(PatternObject *self, PyObject *const *args, Py_ssize_t
|
|||
if (args[1]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -489,7 +489,7 @@ _sre_SRE_Pattern_finditer(PatternObject *self, PyObject *const *args, Py_ssize_t
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -541,7 +541,7 @@ _sre_SRE_Pattern_scanner(PatternObject *self, PyObject *const *args, Py_ssize_t
|
|||
if (args[1]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -557,7 +557,7 @@ _sre_SRE_Pattern_scanner(PatternObject *self, PyObject *const *args, Py_ssize_t
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -608,7 +608,7 @@ _sre_SRE_Pattern_split(PatternObject *self, PyObject *const *args, Py_ssize_t na
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -661,7 +661,7 @@ _sre_SRE_Pattern_sub(PatternObject *self, PyObject *const *args, Py_ssize_t narg
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -714,7 +714,7 @@ _sre_SRE_Pattern_subn(PatternObject *self, PyObject *const *args, Py_ssize_t nar
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -800,7 +800,7 @@ _sre_compile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
code = args[2];
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[3]);
|
||||
PyObject *iobj = _PyNumber_Index(args[3]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1102,4 +1102,4 @@ _sre_SRE_Scanner_search(ScannerObject *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return _sre_SRE_Scanner_search_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=7a3360917b40a808 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=0e27915b1eb7c0e4 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -126,7 +126,7 @@ Struct_unpack_from(PyStructObject *self, PyObject *const *args, Py_ssize_t nargs
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -312,7 +312,7 @@ unpack_from(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -376,4 +376,4 @@ exit:
|
|||
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=1205daf7f616f0cf input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=8089792d8ed0c1be input=a9049054013a1b77]*/
|
||||
|
|
|
@ -84,7 +84,7 @@ array_array_pop(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -134,7 +134,7 @@ array_array_insert(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -245,7 +245,7 @@ array_array_fromfile(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
f = args[0];
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -514,4 +514,4 @@ PyDoc_STRVAR(array_arrayiterator___setstate____doc__,
|
|||
|
||||
#define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF \
|
||||
{"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__},
|
||||
/*[clinic end generated code: output=c953eb8486c7c8da input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=91c1cded65a1285f input=a9049054013a1b77]*/
|
||||
|
|
|
@ -39,7 +39,7 @@ audioop_getsample(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -372,7 +372,7 @@ audioop_findmax(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1309,4 +1309,4 @@ exit:
|
|||
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=343e5ae478fc0359 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=840f8c315ebd4946 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -172,7 +172,7 @@ itertools_tee(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -353,7 +353,7 @@ itertools_combinations(PyTypeObject *type, PyObject *args, PyObject *kwargs)
|
|||
iterable = fastargs[0];
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(fastargs[1]);
|
||||
PyObject *iobj = _PyNumber_Index(fastargs[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -401,7 +401,7 @@ itertools_combinations_with_replacement(PyTypeObject *type, PyObject *args, PyOb
|
|||
iterable = fastargs[0];
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(fastargs[1]);
|
||||
PyObject *iobj = _PyNumber_Index(fastargs[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -627,4 +627,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=07211f86c4153050 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=d7f58dc477814b45 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -4743,7 +4743,7 @@ os_read(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -4843,7 +4843,7 @@ os_pread(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -5112,7 +5112,7 @@ os_sendfile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[3]);
|
||||
PyObject *iobj = _PyNumber_Index(args[3]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -5192,7 +5192,7 @@ os_sendfile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
offobj = args[2];
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[3]);
|
||||
PyObject *iobj = _PyNumber_Index(args[3]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -5627,7 +5627,7 @@ os_copy_file_range(PyObject *module, PyObject *const *args, Py_ssize_t nargs, Py
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -7512,7 +7512,7 @@ os_urandom(PyObject *module, PyObject *arg)
|
|||
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(arg);
|
||||
PyObject *iobj = _PyNumber_Index(arg);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -8160,7 +8160,7 @@ os_getrandom(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -8877,4 +8877,4 @@ exit:
|
|||
#ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF
|
||||
#define OS_WAITSTATUS_TO_EXITCODE_METHODDEF
|
||||
#endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */
|
||||
/*[clinic end generated code: output=9623b9e6f3809842 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=767780ea3beacf34 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -117,7 +117,7 @@ zlib_decompress(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObj
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -409,7 +409,7 @@ zlib_Decompress_decompress(compobject *self, PyObject *const *args, Py_ssize_t n
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -611,7 +611,7 @@ zlib_Decompress_flush(compobject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -757,4 +757,4 @@ exit:
|
|||
#ifndef ZLIB_DECOMPRESS___DEEPCOPY___METHODDEF
|
||||
#define ZLIB_DECOMPRESS___DEEPCOPY___METHODDEF
|
||||
#endif /* !defined(ZLIB_DECOMPRESS___DEEPCOPY___METHODDEF) */
|
||||
/*[clinic end generated code: output=06b6438506aab0cb input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=be34f273564e39a8 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -844,7 +844,7 @@ math_gcd(PyObject *module, PyObject * const *args, Py_ssize_t nargs)
|
|||
return res;
|
||||
}
|
||||
for (i = 1; i < nargs; i++) {
|
||||
x = PyNumber_Index(args[i]);
|
||||
x = _PyNumber_Index(args[i]);
|
||||
if (x == NULL) {
|
||||
Py_DECREF(res);
|
||||
return NULL;
|
||||
|
@ -1723,7 +1723,7 @@ math_isqrt(PyObject *module, PyObject *n)
|
|||
uint64_t m, u;
|
||||
PyObject *a = NULL, *b;
|
||||
|
||||
n = PyNumber_Index(n);
|
||||
n = _PyNumber_Index(n);
|
||||
if (n == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
@ -3103,24 +3103,11 @@ math_perm_impl(PyObject *module, PyObject *n, PyObject *k)
|
|||
if (n == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
if (!PyLong_CheckExact(n)) {
|
||||
Py_SETREF(n, _PyLong_Copy((PyLongObject *)n));
|
||||
if (n == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
k = PyNumber_Index(k);
|
||||
if (k == NULL) {
|
||||
Py_DECREF(n);
|
||||
return NULL;
|
||||
}
|
||||
if (!PyLong_CheckExact(k)) {
|
||||
Py_SETREF(k, _PyLong_Copy((PyLongObject *)k));
|
||||
if (k == NULL) {
|
||||
Py_DECREF(n);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (Py_SIZE(n) < 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
|
@ -3226,24 +3213,11 @@ math_comb_impl(PyObject *module, PyObject *n, PyObject *k)
|
|||
if (n == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
if (!PyLong_CheckExact(n)) {
|
||||
Py_SETREF(n, _PyLong_Copy((PyLongObject *)n));
|
||||
if (n == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
k = PyNumber_Index(k);
|
||||
if (k == NULL) {
|
||||
Py_DECREF(n);
|
||||
return NULL;
|
||||
}
|
||||
if (!PyLong_CheckExact(k)) {
|
||||
Py_SETREF(k, _PyLong_Copy((PyLongObject *)k));
|
||||
if (k == NULL) {
|
||||
Py_DECREF(n);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (Py_SIZE(n) < 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
|
|
|
@ -531,7 +531,7 @@ _Py_Uid_Converter(PyObject *obj, void *p)
|
|||
long result;
|
||||
unsigned long uresult;
|
||||
|
||||
index = PyNumber_Index(obj);
|
||||
index = _PyNumber_Index(obj);
|
||||
if (index == NULL) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"uid should be integer, not %.200s",
|
||||
|
@ -637,7 +637,7 @@ _Py_Gid_Converter(PyObject *obj, void *p)
|
|||
long result;
|
||||
unsigned long uresult;
|
||||
|
||||
index = PyNumber_Index(obj);
|
||||
index = _PyNumber_Index(obj);
|
||||
if (index == NULL) {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"gid should be integer, not %.200s",
|
||||
|
@ -771,7 +771,7 @@ _fd_converter(PyObject *o, int *p)
|
|||
int overflow;
|
||||
long long_value;
|
||||
|
||||
PyObject *index = PyNumber_Index(o);
|
||||
PyObject *index = _PyNumber_Index(o);
|
||||
if (index == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1317,11 +1317,12 @@ PyIndex_Check(PyObject *obj)
|
|||
|
||||
|
||||
/* Return a Python int from the object item.
|
||||
Can return an instance of int subclass.
|
||||
Raise TypeError if the result is not an int
|
||||
or if the object cannot be interpreted as an index.
|
||||
*/
|
||||
PyObject *
|
||||
PyNumber_Index(PyObject *item)
|
||||
_PyNumber_Index(PyObject *item)
|
||||
{
|
||||
PyObject *result = NULL;
|
||||
if (item == NULL) {
|
||||
|
@ -1360,6 +1361,20 @@ PyNumber_Index(PyObject *item)
|
|||
return result;
|
||||
}
|
||||
|
||||
/* Return an exact Python int from the object item.
|
||||
Raise TypeError if the result is not an int
|
||||
or if the object cannot be interpreted as an index.
|
||||
*/
|
||||
PyObject *
|
||||
PyNumber_Index(PyObject *item)
|
||||
{
|
||||
PyObject *result = _PyNumber_Index(item);
|
||||
if (result != NULL && !PyLong_CheckExact(result)) {
|
||||
Py_SETREF(result, _PyLong_Copy((PyLongObject *)result));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Return an error on Overflow only if err is not NULL*/
|
||||
|
||||
Py_ssize_t
|
||||
|
@ -1367,7 +1382,7 @@ PyNumber_AsSsize_t(PyObject *item, PyObject *err)
|
|||
{
|
||||
Py_ssize_t result;
|
||||
PyObject *runerr;
|
||||
PyObject *value = PyNumber_Index(item);
|
||||
PyObject *value = _PyNumber_Index(item);
|
||||
if (value == NULL)
|
||||
return -1;
|
||||
|
||||
|
@ -1451,11 +1466,7 @@ PyNumber_Long(PyObject *o)
|
|||
return result;
|
||||
}
|
||||
if (m && m->nb_index) {
|
||||
result = PyNumber_Index(o);
|
||||
if (result != NULL && !PyLong_CheckExact(result)) {
|
||||
Py_SETREF(result, _PyLong_Copy((PyLongObject *)result));
|
||||
}
|
||||
return result;
|
||||
return PyNumber_Index(o);
|
||||
}
|
||||
trunc_func = _PyObject_LookupSpecial(o, &PyId___trunc__);
|
||||
if (trunc_func) {
|
||||
|
@ -1479,9 +1490,6 @@ PyNumber_Long(PyObject *o)
|
|||
return NULL;
|
||||
}
|
||||
Py_SETREF(result, PyNumber_Index(result));
|
||||
if (result != NULL && !PyLong_CheckExact(result)) {
|
||||
Py_SETREF(result, _PyLong_Copy((PyLongObject *)result));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
if (PyErr_Occurred())
|
||||
|
@ -1564,7 +1572,7 @@ PyNumber_Float(PyObject *o)
|
|||
return PyFloat_FromDouble(val);
|
||||
}
|
||||
if (m && m->nb_index) {
|
||||
PyObject *res = PyNumber_Index(o);
|
||||
PyObject *res = _PyNumber_Index(o);
|
||||
if (!res) {
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1590,7 +1598,7 @@ PyNumber_ToBase(PyObject *n, int base)
|
|||
"PyNumber_ToBase: base must be 2, 8, 10 or 16");
|
||||
return NULL;
|
||||
}
|
||||
PyObject *index = PyNumber_Index(n);
|
||||
PyObject *index = _PyNumber_Index(n);
|
||||
if (!index)
|
||||
return NULL;
|
||||
PyObject *res = _PyLong_Format(index, base);
|
||||
|
|
|
@ -455,7 +455,7 @@ formatlong(PyObject *v, int flags, int prec, int type)
|
|||
if (PyNumber_Check(v)) {
|
||||
/* make sure number is a type of integer for o, x, and X */
|
||||
if (type == 'o' || type == 'x' || type == 'X')
|
||||
iobj = PyNumber_Index(v);
|
||||
iobj = _PyNumber_Index(v);
|
||||
else
|
||||
iobj = PyNumber_Long(v);
|
||||
if (iobj == NULL) {
|
||||
|
|
|
@ -270,7 +270,7 @@ bytearray_replace(PyByteArrayObject *self, PyObject *const *args, Py_ssize_t nar
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -343,7 +343,7 @@ bytearray_split(PyByteArrayObject *self, PyObject *const *args, Py_ssize_t nargs
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -442,7 +442,7 @@ bytearray_rsplit(PyByteArrayObject *self, PyObject *const *args, Py_ssize_t narg
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -506,7 +506,7 @@ bytearray_insert(PyByteArrayObject *self, PyObject *const *args, Py_ssize_t narg
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -599,7 +599,7 @@ bytearray_pop(PyByteArrayObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1051,4 +1051,4 @@ bytearray_sizeof(PyByteArrayObject *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return bytearray_sizeof_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=920748990279fb9d input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=0cd59180c7d5dce5 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -48,7 +48,7 @@ bytes_split(PyBytesObject *self, PyObject *const *args, Py_ssize_t nargs, PyObje
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -199,7 +199,7 @@ bytes_rsplit(PyBytesObject *self, PyObject *const *args, Py_ssize_t nargs, PyObj
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -485,7 +485,7 @@ bytes_replace(PyBytesObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -809,4 +809,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=a0c31faea2671a8c input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=dc1bc13e6990e452 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -26,7 +26,7 @@ list_insert(PyListObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -125,7 +125,7 @@ list_pop(PyListObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -352,4 +352,4 @@ list___reversed__(PyListObject *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return list___reversed___impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=137db7b11196b581 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=0063aad535edf62d input=a9049054013a1b77]*/
|
||||
|
|
|
@ -211,7 +211,7 @@ int_to_bytes(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -308,4 +308,4 @@ skip_optional_kwonly:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=46d40c8aa6d420b7 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=63b8274fc784d617 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -88,7 +88,7 @@ unicode_center(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -522,7 +522,7 @@ unicode_ljust(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -717,7 +717,7 @@ unicode_replace(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -831,7 +831,7 @@ unicode_rjust(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -900,7 +900,7 @@ unicode_split(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -997,7 +997,7 @@ unicode_rsplit(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[1]);
|
||||
PyObject *iobj = _PyNumber_Index(args[1]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1193,7 +1193,7 @@ unicode_zfill(PyObject *self, PyObject *arg)
|
|||
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(arg);
|
||||
PyObject *iobj = _PyNumber_Index(arg);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -1258,4 +1258,4 @@ unicode_sizeof(PyObject *self, PyObject *Py_UNUSED(ignored))
|
|||
{
|
||||
return unicode_sizeof_impl(self);
|
||||
}
|
||||
/*[clinic end generated code: output=ea1aff10c743be14 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=c5eb21e314da78b8 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -250,7 +250,7 @@ PyFloat_AsDouble(PyObject *op)
|
|||
nb = Py_TYPE(op)->tp_as_number;
|
||||
if (nb == NULL || nb->nb_float == NULL) {
|
||||
if (nb && nb->nb_index) {
|
||||
PyObject *res = PyNumber_Index(op);
|
||||
PyObject *res = _PyNumber_Index(op);
|
||||
if (!res) {
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -394,7 +394,7 @@ PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
|
|||
v = (PyLongObject *)vv;
|
||||
}
|
||||
else {
|
||||
v = (PyLongObject *)PyNumber_Index(vv);
|
||||
v = (PyLongObject *)_PyNumber_Index(vv);
|
||||
if (v == NULL)
|
||||
return -1;
|
||||
do_decref = 1;
|
||||
|
@ -674,7 +674,7 @@ PyLong_AsUnsignedLongMask(PyObject *op)
|
|||
return _PyLong_AsUnsignedLongMask(op);
|
||||
}
|
||||
|
||||
lo = (PyLongObject *)PyNumber_Index(op);
|
||||
lo = (PyLongObject *)_PyNumber_Index(op);
|
||||
if (lo == NULL)
|
||||
return (unsigned long)-1;
|
||||
|
||||
|
@ -1132,7 +1132,7 @@ PyLong_AsLongLong(PyObject *vv)
|
|||
v = (PyLongObject *)vv;
|
||||
}
|
||||
else {
|
||||
v = (PyLongObject *)PyNumber_Index(vv);
|
||||
v = (PyLongObject *)_PyNumber_Index(vv);
|
||||
if (v == NULL)
|
||||
return -1;
|
||||
do_decref = 1;
|
||||
|
@ -1247,7 +1247,7 @@ PyLong_AsUnsignedLongLongMask(PyObject *op)
|
|||
return _PyLong_AsUnsignedLongLongMask(op);
|
||||
}
|
||||
|
||||
lo = (PyLongObject *)PyNumber_Index(op);
|
||||
lo = (PyLongObject *)_PyNumber_Index(op);
|
||||
if (lo == NULL)
|
||||
return (unsigned long long)-1;
|
||||
|
||||
|
@ -1287,7 +1287,7 @@ PyLong_AsLongLongAndOverflow(PyObject *vv, int *overflow)
|
|||
v = (PyLongObject *)vv;
|
||||
}
|
||||
else {
|
||||
v = (PyLongObject *)PyNumber_Index(vv);
|
||||
v = (PyLongObject *)_PyNumber_Index(vv);
|
||||
if (v == NULL)
|
||||
return -1;
|
||||
do_decref = 1;
|
||||
|
@ -5180,7 +5180,7 @@ long_round(PyObject *self, PyObject *args)
|
|||
if (o_ndigits == NULL)
|
||||
return long_long(self);
|
||||
|
||||
ndigits = PyNumber_Index(o_ndigits);
|
||||
ndigits = _PyNumber_Index(o_ndigits);
|
||||
if (ndigits == NULL)
|
||||
return NULL;
|
||||
|
||||
|
|
|
@ -1578,7 +1578,7 @@ pylong_as_ld(PyObject *item)
|
|||
PyObject *tmp;
|
||||
long ld;
|
||||
|
||||
tmp = PyNumber_Index(item);
|
||||
tmp = _PyNumber_Index(item);
|
||||
if (tmp == NULL)
|
||||
return -1;
|
||||
|
||||
|
@ -1593,7 +1593,7 @@ pylong_as_lu(PyObject *item)
|
|||
PyObject *tmp;
|
||||
unsigned long lu;
|
||||
|
||||
tmp = PyNumber_Index(item);
|
||||
tmp = _PyNumber_Index(item);
|
||||
if (tmp == NULL)
|
||||
return (unsigned long)-1;
|
||||
|
||||
|
@ -1608,7 +1608,7 @@ pylong_as_lld(PyObject *item)
|
|||
PyObject *tmp;
|
||||
long long lld;
|
||||
|
||||
tmp = PyNumber_Index(item);
|
||||
tmp = _PyNumber_Index(item);
|
||||
if (tmp == NULL)
|
||||
return -1;
|
||||
|
||||
|
@ -1623,7 +1623,7 @@ pylong_as_llu(PyObject *item)
|
|||
PyObject *tmp;
|
||||
unsigned long long llu;
|
||||
|
||||
tmp = PyNumber_Index(item);
|
||||
tmp = _PyNumber_Index(item);
|
||||
if (tmp == NULL)
|
||||
return (unsigned long long)-1;
|
||||
|
||||
|
@ -1638,7 +1638,7 @@ pylong_as_zd(PyObject *item)
|
|||
PyObject *tmp;
|
||||
Py_ssize_t zd;
|
||||
|
||||
tmp = PyNumber_Index(item);
|
||||
tmp = _PyNumber_Index(item);
|
||||
if (tmp == NULL)
|
||||
return -1;
|
||||
|
||||
|
@ -1653,7 +1653,7 @@ pylong_as_zu(PyObject *item)
|
|||
PyObject *tmp;
|
||||
size_t zu;
|
||||
|
||||
tmp = PyNumber_Index(item);
|
||||
tmp = _PyNumber_Index(item);
|
||||
if (tmp == NULL)
|
||||
return (size_t)-1;
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ stringlib_ljust(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -126,7 +126,7 @@ stringlib_rjust(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -182,7 +182,7 @@ stringlib_center(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
|
|||
}
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[0]);
|
||||
PyObject *iobj = _PyNumber_Index(args[0]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -234,7 +234,7 @@ stringlib_zfill(PyObject *self, PyObject *arg)
|
|||
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(arg);
|
||||
PyObject *iobj = _PyNumber_Index(arg);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -249,4 +249,4 @@ stringlib_zfill(PyObject *self, PyObject *arg)
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=cd5ecdbf1d9e849a input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=2d9abc7b1cffeca6 input=a9049054013a1b77]*/
|
||||
|
|
|
@ -6334,7 +6334,7 @@ slot_sq_length(PyObject *self)
|
|||
if (res == NULL)
|
||||
return -1;
|
||||
|
||||
Py_SETREF(res, PyNumber_Index(res));
|
||||
Py_SETREF(res, _PyNumber_Index(res));
|
||||
if (res == NULL)
|
||||
return -1;
|
||||
|
||||
|
|
|
@ -14617,7 +14617,7 @@ mainformatlong(PyObject *v,
|
|||
/* make sure number is a type of integer for o, x, and X */
|
||||
if (!PyLong_Check(v)) {
|
||||
if (type == 'o' || type == 'x' || type == 'X') {
|
||||
iobj = PyNumber_Index(v);
|
||||
iobj = _PyNumber_Index(v);
|
||||
if (iobj == NULL) {
|
||||
if (PyErr_ExceptionMatches(PyExc_TypeError))
|
||||
goto wrongtype;
|
||||
|
|
|
@ -45,7 +45,7 @@ warnings_warn(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObjec
|
|||
if (args[2]) {
|
||||
{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index(args[2]);
|
||||
PyObject *iobj = _PyNumber_Index(args[2]);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
@ -66,4 +66,4 @@ skip_optional_pos:
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=484e5ffe94edf0f0 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=eb9997fa998fdbad input=a9049054013a1b77]*/
|
||||
|
|
|
@ -784,7 +784,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
|
|||
PyObject *iobj;
|
||||
Py_ssize_t *p = va_arg(*p_va, Py_ssize_t *);
|
||||
Py_ssize_t ival = -1;
|
||||
iobj = PyNumber_Index(arg);
|
||||
iobj = _PyNumber_Index(arg);
|
||||
if (iobj != NULL) {
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
|
|
@ -3062,7 +3062,7 @@ class Py_ssize_t_converter(CConverter):
|
|||
return """
|
||||
{{{{
|
||||
Py_ssize_t ival = -1;
|
||||
PyObject *iobj = PyNumber_Index({argname});
|
||||
PyObject *iobj = _PyNumber_Index({argname});
|
||||
if (iobj != NULL) {{{{
|
||||
ival = PyLong_AsSsize_t(iobj);
|
||||
Py_DECREF(iobj);
|
||||
|
|
Loading…
Reference in New Issue