Skip to content

Commit 53bd559

Browse files
Refactor: replace query with parameter
Pass state as arg to element_add_subelement()
1 parent 8043112 commit 53bd559

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Modules/_elementtree.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -503,10 +503,10 @@ raise_type_error(PyObject *element)
503503
}
504504

505505
LOCAL(int)
506-
element_add_subelement(ElementObject* self, PyObject* element)
506+
element_add_subelement(elementtreestate *st, ElementObject *self,
507+
PyObject *element)
507508
{
508509
/* add a child element to a parent */
509-
elementtreestate *st = ET_STATE_GLOBAL;
510510
if (!Element_Check(st, element)) {
511511
raise_type_error(element);
512512
return -1;
@@ -618,7 +618,7 @@ subelement(PyObject *self, PyObject *args, PyObject *kwds)
618618
if (elem == NULL)
619619
return NULL;
620620

621-
if (element_add_subelement(parent, elem) < 0) {
621+
if (element_add_subelement(st, parent, elem) < 0) {
622622
Py_DECREF(elem);
623623
return NULL;
624624
}
@@ -693,7 +693,8 @@ static PyObject *
693693
_elementtree_Element_append_impl(ElementObject *self, PyObject *subelement)
694694
/*[clinic end generated code: output=54a884b7cf2295f4 input=439f2bd777288fb6]*/
695695
{
696-
if (element_add_subelement(self, subelement) < 0)
696+
elementtreestate *st = ET_STATE_GLOBAL;
697+
if (element_add_subelement(st, self, subelement) < 0)
697698
return NULL;
698699

699700
Py_RETURN_NONE;
@@ -1190,9 +1191,10 @@ _elementtree_Element_extend(ElementObject *self, PyObject *elements)
11901191
return NULL;
11911192
}
11921193

1194+
elementtreestate *st = ET_STATE_GLOBAL;
11931195
for (i = 0; i < PySequence_Fast_GET_SIZE(seq); i++) {
11941196
PyObject* element = Py_NewRef(PySequence_Fast_GET_ITEM(seq, i));
1195-
if (element_add_subelement(self, element) < 0) {
1197+
if (element_add_subelement(st, self, element) < 0) {
11961198
Py_DECREF(seq);
11971199
Py_DECREF(element);
11981200
return NULL;
@@ -2591,7 +2593,7 @@ treebuilder_add_subelement(elementtreestate *st, PyObject *element,
25912593
{
25922594
if (Element_CheckExact(st, element)) {
25932595
ElementObject *elem = (ElementObject *) element;
2594-
return element_add_subelement(elem, child);
2596+
return element_add_subelement(st, elem, child);
25952597
}
25962598
else {
25972599
PyObject *res;

0 commit comments

Comments
 (0)