@@ -3071,11 +3071,10 @@ makeuniversal(XMLParserObject* self, const char* string)
3071
3071
* message string is the default for the given error_code.
3072
3072
*/
3073
3073
static void
3074
- expat_set_error (enum XML_Error error_code , Py_ssize_t line , Py_ssize_t column ,
3075
- const char * message )
3074
+ expat_set_error (elementtreestate * st , enum XML_Error error_code ,
3075
+ Py_ssize_t line , Py_ssize_t column , const char * message )
3076
3076
{
3077
3077
PyObject * errmsg , * error , * position , * code ;
3078
- elementtreestate * st = ET_STATE_GLOBAL ;
3079
3078
3080
3079
errmsg = PyUnicode_FromFormat ("%s: line %zd, column %zd" ,
3081
3080
message ? message : EXPAT (ErrorString )(error_code ),
@@ -3140,8 +3139,8 @@ expat_default_handler(XMLParserObject* self, const XML_Char* data_in,
3140
3139
3141
3140
value = PyDict_GetItemWithError (self -> entity , key );
3142
3141
3142
+ elementtreestate * st = ET_STATE_GLOBAL ;
3143
3143
if (value ) {
3144
- elementtreestate * st = ET_STATE_GLOBAL ;
3145
3144
if (TreeBuilder_CheckExact (st , self -> target ))
3146
3145
res = treebuilder_handle_data (
3147
3146
(TreeBuilderObject * ) self -> target , value
@@ -3156,6 +3155,7 @@ expat_default_handler(XMLParserObject* self, const XML_Char* data_in,
3156
3155
char message [128 ] = "undefined entity " ;
3157
3156
strncat (message , data_in , data_len < 100 ?data_len :100 );
3158
3157
expat_set_error (
3158
+ st ,
3159
3159
XML_ERROR_UNDEFINED_ENTITY ,
3160
3160
EXPAT (GetErrorLineNumber )(self -> parser ),
3161
3161
EXPAT (GetErrorColumnNumber )(self -> parser ),
@@ -3764,7 +3764,9 @@ expat_parse(XMLParserObject* self, const char* data, int data_len, int final)
3764
3764
return NULL ;
3765
3765
3766
3766
if (!ok ) {
3767
+ elementtreestate * st = ET_STATE_GLOBAL ;
3767
3768
expat_set_error (
3769
+ st ,
3768
3770
EXPAT (GetErrorCode )(self -> parser ),
3769
3771
EXPAT (GetErrorLineNumber )(self -> parser ),
3770
3772
EXPAT (GetErrorColumnNumber )(self -> parser ),
0 commit comments