mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
parent
c3ccaae6f3
commit
7fbac45287
1 changed files with 4 additions and 8 deletions
|
@ -819,9 +819,8 @@ LOCAL(PyObject *)
|
||||||
deepcopy(PyObject *object, PyObject *memo)
|
deepcopy(PyObject *object, PyObject *memo)
|
||||||
{
|
{
|
||||||
/* do a deep copy of the given object */
|
/* do a deep copy of the given object */
|
||||||
PyObject *args;
|
|
||||||
PyObject *result;
|
|
||||||
elementtreestate *st;
|
elementtreestate *st;
|
||||||
|
PyObject *stack[2];
|
||||||
|
|
||||||
/* Fast paths */
|
/* Fast paths */
|
||||||
if (object == Py_None || PyUnicode_CheckExact(object)) {
|
if (object == Py_None || PyUnicode_CheckExact(object)) {
|
||||||
|
@ -857,12 +856,9 @@ deepcopy(PyObject *object, PyObject *memo)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
args = PyTuple_Pack(2, object, memo);
|
stack[0] = object;
|
||||||
if (!args)
|
stack[1] = memo;
|
||||||
return NULL;
|
return _PyObject_FastCall(st->deepcopy_obj, stack, 2, NULL);
|
||||||
result = PyObject_CallObject(st->deepcopy_obj, args);
|
|
||||||
Py_DECREF(args);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue