File 0107-Fix-event-state-handling-in-xmerl-sax-parser.patch of Package erlang

From cf228a2df27322f18202571cb647873277a58380 Mon Sep 17 00:00:00 2001
From: Lars Thorsen <lars@erlang.org>
Date: Fri, 3 May 2024 08:29:34 +0200
Subject: [PATCH] Fix event state handling in xmerl sax parser

If the xmerl_sax_parser event state was
updated in an event callback for a startEntity
it was not saved.
---
 lib/xmerl/src/xmerl_sax_parser_base.erlsrc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/xmerl/src/xmerl_sax_parser_base.erlsrc b/lib/xmerl/src/xmerl_sax_parser_base.erlsrc
index 67fdec560e..9ca44f259d 100644
--- a/lib/xmerl/src/xmerl_sax_parser_base.erlsrc
+++ b/lib/xmerl/src/xmerl_sax_parser_base.erlsrc
@@ -2121,10 +2121,11 @@ parse_external_entity(State, _PubId, SysId, Acc) ->
     
     SaveState =  event_callback({startEntity, SysId}, State),
 
-    State1 = State#xmerl_sax_parser_state{line_no=1, 
-                      end_tags = []},
+    EntityState =
+        SaveState#xmerl_sax_parser_state{line_no=1,
+                                         end_tags = []},
     
-    {Acc1, EventState, EventRefTab, AttVals} = handle_external_entity(ExtRef, State1, Acc),
+    {Acc1, EventState, EventRefTab, AttVals} = handle_external_entity(ExtRef, EntityState, Acc),
 
     NewState =  event_callback({endEntity, SysId}, 
                                SaveState#xmerl_sax_parser_state{event_state=EventState}),
@@ -2137,7 +2138,6 @@ parse_external_entity(State, _PubId, SysId, Acc) ->
     end.
 
 
-
 %%----------------------------------------------------------------------
 %% Function  : handle_external_entity(ExtRef, State, Acc) -> Result
 %% Parameters: ExtRef = {file, string()} | {http, string()}
-- 
2.35.3

openSUSE Build Service is sponsored by