@@ -503,10 +503,10 @@ raise_type_error(PyObject *element)
503
503
}
504
504
505
505
LOCAL (int )
506
- element_add_subelement (ElementObject * self , PyObject * element )
506
+ element_add_subelement (elementtreestate * st , ElementObject * self ,
507
+ PyObject * element )
507
508
{
508
509
/* add a child element to a parent */
509
- elementtreestate * st = ET_STATE_GLOBAL ;
510
510
if (!Element_Check (st , element )) {
511
511
raise_type_error (element );
512
512
return -1 ;
@@ -618,7 +618,7 @@ subelement(PyObject *self, PyObject *args, PyObject *kwds)
618
618
if (elem == NULL )
619
619
return NULL ;
620
620
621
- if (element_add_subelement (parent , elem ) < 0 ) {
621
+ if (element_add_subelement (st , parent , elem ) < 0 ) {
622
622
Py_DECREF (elem );
623
623
return NULL ;
624
624
}
@@ -693,7 +693,8 @@ static PyObject *
693
693
_elementtree_Element_append_impl (ElementObject * self , PyObject * subelement )
694
694
/*[clinic end generated code: output=54a884b7cf2295f4 input=439f2bd777288fb6]*/
695
695
{
696
- if (element_add_subelement (self , subelement ) < 0 )
696
+ elementtreestate * st = ET_STATE_GLOBAL ;
697
+ if (element_add_subelement (st , self , subelement ) < 0 )
697
698
return NULL ;
698
699
699
700
Py_RETURN_NONE ;
@@ -1190,9 +1191,10 @@ _elementtree_Element_extend(ElementObject *self, PyObject *elements)
1190
1191
return NULL ;
1191
1192
}
1192
1193
1194
+ elementtreestate * st = ET_STATE_GLOBAL ;
1193
1195
for (i = 0 ; i < PySequence_Fast_GET_SIZE (seq ); i ++ ) {
1194
1196
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 ) {
1196
1198
Py_DECREF (seq );
1197
1199
Py_DECREF (element );
1198
1200
return NULL ;
@@ -2591,7 +2593,7 @@ treebuilder_add_subelement(elementtreestate *st, PyObject *element,
2591
2593
{
2592
2594
if (Element_CheckExact (st , element )) {
2593
2595
ElementObject * elem = (ElementObject * ) element ;
2594
- return element_add_subelement (elem , child );
2596
+ return element_add_subelement (st , elem , child );
2595
2597
}
2596
2598
else {
2597
2599
PyObject * res ;
0 commit comments