File 0380-xmerl-Replace-character-refs-correctly-in-attributes.patch of Package erlang

From b1c6356a9d3cd8d6e9767a4252eb0bcc1602664b Mon Sep 17 00:00:00 2001
From: Lars Thorsen <lars@erlang.org>
Date: Tue, 19 Mar 2019 07:55:37 +0100
Subject: [PATCH 1/2] [xmerl] Replace character refs correctly in attributes

---
 lib/xmerl/src/xmerl_scan.erl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/xmerl/src/xmerl_scan.erl b/lib/xmerl/src/xmerl_scan.erl
index e543a5a11e..0b7f378c77 100644
--- a/lib/xmerl/src/xmerl_scan.erl
+++ b/lib/xmerl/src/xmerl_scan.erl
@@ -2410,14 +2410,14 @@ scan_att_chars("&" ++ T, S0, Delim, Acc, TmpAcc,AT,IsNorm) -> % Reference
 	true ->
 	    scan_att_chars(T1,S1,Delim,[ExpRef|Acc],[ExpRef|TmpAcc],AT,IsNorm);
 	_ ->
-            Ch = string_to_char_set(S#xmerl_scanner.encoding, ExpRef),
             case T of
                 "#" ++ _ ->
                     %% normalization rules (sec 3.3.3) require that for
                     %% character references, the referenced character be
                     %% added directly to the normalized value
-                    scan_att_chars(T1, S1, Delim, Ch ++ Acc,TmpAcc, AT,IsNorm);
+                    scan_att_chars(T1, S1, Delim, ExpRef ++ Acc,TmpAcc, AT,IsNorm);
                 _ ->
+                    Ch = string_to_char_set(S#xmerl_scanner.encoding, ExpRef),
                     scan_att_chars(Ch ++ T1, S1, Delim, Acc,TmpAcc, AT,IsNorm)
             end
     end;
-- 
2.16.4

openSUSE Build Service is sponsored by