@@ -2782,13 +2782,13 @@ treebuilder_handle_comment(elementtreestate *st, TreeBuilderObject *self,
2782
2782
}
2783
2783
2784
2784
LOCAL (PyObject * )
2785
- treebuilder_handle_pi (TreeBuilderObject * self , PyObject * target , PyObject * text )
2785
+ treebuilder_handle_pi (elementtreestate * st , TreeBuilderObject * self ,
2786
+ PyObject * target , PyObject * text )
2786
2787
{
2787
2788
PyObject * pi ;
2788
2789
PyObject * this ;
2789
2790
PyObject * stack [2 ] = {target , text };
2790
2791
2791
- elementtreestate * st = ET_STATE_GLOBAL ;
2792
2792
if (treebuilder_flush_data (st , self ) < 0 ) {
2793
2793
return NULL ;
2794
2794
}
@@ -2921,7 +2921,8 @@ _elementtree_TreeBuilder_pi_impl(TreeBuilderObject *self, PyObject *target,
2921
2921
PyObject * text )
2922
2922
/*[clinic end generated code: output=21eb95ec9d04d1d9 input=349342bd79c35570]*/
2923
2923
{
2924
- return treebuilder_handle_pi (self , target , text );
2924
+ elementtreestate * st = ET_STATE_GLOBAL ;
2925
+ return treebuilder_handle_pi (st , self , target , text );
2925
2926
}
2926
2927
2927
2928
LOCAL (PyObject * )
@@ -3507,7 +3508,7 @@ expat_pi_handler(XMLParserObject* self, const XML_Char* target_in,
3507
3508
data = PyUnicode_DecodeUTF8 (data_in , strlen (data_in ), "strict" );
3508
3509
if (!data )
3509
3510
goto error ;
3510
- res = treebuilder_handle_pi (target , pi_target , data );
3511
+ res = treebuilder_handle_pi (st , target , pi_target , data );
3511
3512
Py_XDECREF (res );
3512
3513
Py_DECREF (data );
3513
3514
Py_DECREF (pi_target );
0 commit comments