Fred's right -- we need PyList_SET_ITEM().

This commit is contained in:
Guido van Rossum 1998-04-24 18:22:02 +00:00
parent 7b7a2c2e11
commit a937d14898
4 changed files with 12 additions and 1 deletions

View File

@ -1953,6 +1953,11 @@ Returns a new tuple object containing the contents of \var{list}.
Macro form of \cfunction{PyList_GetItem()} without error checking.
\end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyList_SET_ITEM}{PyObject *list, int i,
PyObject *o}
Macro form of \cfunction{PyList_SetItem()} without error checking.
\end{cfuncdesc}
\begin{cfuncdesc}{int}{PyList_GET_SIZE}{PyObject *list}
Macro form of \cfunction{PyList_GetSize()} without error checking.
\end{cfuncdesc}

View File

@ -1953,6 +1953,11 @@ Returns a new tuple object containing the contents of \var{list}.
Macro form of \cfunction{PyList_GetItem()} without error checking.
\end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyList_SET_ITEM}{PyObject *list, int i,
PyObject *o}
Macro form of \cfunction{PyList_SetItem()} without error checking.
\end{cfuncdesc}
\begin{cfuncdesc}{int}{PyList_GET_SIZE}{PyObject *list}
Macro form of \cfunction{PyList_GetSize()} without error checking.
\end{cfuncdesc}

View File

@ -74,6 +74,7 @@ extern PyObject *PyList_AsTuple Py_PROTO((PyObject *));
/* Macro, trading safety for speed */
#define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i])
#define PyList_SET_ITEM(op, i, v) (((PyListObject *)(op))->ob_item[i] = (v))
#define PyList_GET_SIZE(op) (((PyListObject *)(op))->ob_size)
#ifdef __cplusplus

View File

@ -1282,7 +1282,7 @@ builtin_range(self, args)
Py_DECREF(v);
return NULL;
}
PyList_GET_ITEM(v, i) = w;
PyList_SET_ITEM(v, i, w);
ilow += istep;
}
return v;