Skip to content
Prev Previous commit
Next Next commit
Refactor: replace query with parameter
Pass state as arg to element_setstate_from_Python()
  • Loading branch information
erlend-aasland committed Jan 23, 2023
commit 706385a24c8864a5f50692364cad0bb9385d738a
10 changes: 6 additions & 4 deletions Modules/_elementtree.c
Original file line number Diff line number Diff line change
Expand Up @@ -1065,7 +1065,8 @@ element_setstate_from_attributes(elementtreestate *st,
*/

static PyObject *
element_setstate_from_Python(ElementObject *self, PyObject *state)
element_setstate_from_Python(elementtreestate *st, ElementObject *self,
PyObject *state)
{
static char *kwlist[] = {PICKLED_TAG, PICKLED_ATTRIB, PICKLED_TEXT,
PICKLED_TAIL, PICKLED_CHILDREN, 0};
Expand All @@ -1078,7 +1079,6 @@ element_setstate_from_Python(ElementObject *self, PyObject *state)
if (!args)
return NULL;

elementtreestate *st = ET_STATE_GLOBAL;
if (PyArg_ParseTupleAndKeywords(args, state, "|$OOOOO", kwlist, &tag,
&attrib, &text, &tail, &children))
retval = element_setstate_from_attributes(st, self, tag, attrib, text,
Expand Down Expand Up @@ -1108,8 +1108,10 @@ _elementtree_Element___setstate__(ElementObject *self, PyObject *state)
state);
return NULL;
}
else
return element_setstate_from_Python(self, state);
else {
elementtreestate *st = ET_STATE_GLOBAL;
return element_setstate_from_Python(st, self, state);
}
}

LOCAL(int)
Expand Down