diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-11-09 15:56:48 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-09 15:56:48 (GMT) |
commit | d17a693fa08ce9f2d35acbb1f76e20bdae3e01da (patch) | |
tree | d3cd55ed960c8444a7411f1c21fc631ee19447c9 /Include | |
parent | 130893debfd97c70e3a89d9ba49892f53e6b9d79 (diff) | |
download | cpython-d17a693fa08ce9f2d35acbb1f76e20bdae3e01da.zip cpython-d17a693fa08ce9f2d35acbb1f76e20bdae3e01da.tar.gz cpython-d17a693fa08ce9f2d35acbb1f76e20bdae3e01da.tar.bz2 |
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].
Diffstat (limited to 'Include')
-rw-r--r-- | Include/tupleobject.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Include/tupleobject.h b/Include/tupleobject.h index 72a7d8d..257e05a 100644 --- a/Include/tupleobject.h +++ b/Include/tupleobject.h @@ -58,6 +58,10 @@ PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *); #define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i]) #define PyTuple_GET_SIZE(op) (assert(PyTuple_Check(op)),Py_SIZE(op)) +#ifdef Py_BUILD_CORE +# define _PyTuple_ITEMS(op) ((((PyTupleObject *)(op))->ob_item)) +#endif + /* Macro, *only* to be used to fill in brand new tuples */ #define PyTuple_SET_ITEM(op, i, v) (((PyTupleObject *)(op))->ob_item[i] = v) #endif |