mirror of
https://github.com/python/cpython.git
synced 2025-08-01 15:43:13 +00:00
bpo-35199: Add an internal _PyTuple_ITEMS() macro (GH-10434)
* _PyTuple_ITEMS() gives access to the tuple->ob_item field and cast the first argument to PyTupleObject*. This internal macro is only usable if Py_BUILD_CORE is defined. * Replace &PyTuple_GET_ITEM(ob, 0) with _PyTuple_ITEMS(ob). * Replace PyTuple_GET_ITEM(op, 1) with &_PyTuple_ITEMS(ob)[1].
This commit is contained in:
parent
130893debf
commit
d17a693fa0
9 changed files with 27 additions and 23 deletions
|
@ -4662,7 +4662,7 @@ do_call_core(PyObject *func, PyObject *callargs, PyObject *kwdict)
|
|||
}
|
||||
|
||||
C_TRACE(result, _PyCFunction_FastCallDict(func,
|
||||
&PyTuple_GET_ITEM(callargs, 1),
|
||||
&_PyTuple_ITEMS(callargs)[1],
|
||||
nargs - 1,
|
||||
kwdict));
|
||||
Py_DECREF(func);
|
||||
|
|
|
@ -422,7 +422,7 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int flags)
|
|||
return 0;
|
||||
}
|
||||
|
||||
stack = &PyTuple_GET_ITEM(args, 0);
|
||||
stack = _PyTuple_ITEMS(args);
|
||||
nargs = PyTuple_GET_SIZE(args);
|
||||
}
|
||||
else {
|
||||
|
@ -2254,7 +2254,7 @@ vgetargskeywordsfast(PyObject *args, PyObject *keywords,
|
|||
return 0;
|
||||
}
|
||||
|
||||
stack = &PyTuple_GET_ITEM(args, 0);
|
||||
stack = _PyTuple_ITEMS(args);
|
||||
nargs = PyTuple_GET_SIZE(args);
|
||||
return vgetargskeywordsfast_impl(stack, nargs, keywords, NULL,
|
||||
parser, p_va, flags);
|
||||
|
@ -2461,7 +2461,7 @@ PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t m
|
|||
"PyArg_UnpackTuple() argument list is not a tuple");
|
||||
return 0;
|
||||
}
|
||||
stack = &PyTuple_GET_ITEM(args, 0);
|
||||
stack = _PyTuple_ITEMS(args);
|
||||
nargs = PyTuple_GET_SIZE(args);
|
||||
|
||||
#ifdef HAVE_STDARG_PROTOTYPES
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue