summaryrefslogtreecommitdiff
blob: 540d5c620f9a5adaeb03c7d987c8bbd48e9b8d4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Index: tyxml-4.0.0/lib/xml_print.ml
===================================================================
--- tyxml-4.0.0.orig/lib/xml_print.ml
+++ tyxml-4.0.0/lib/xml_print.ml
@@ -154,15 +154,14 @@ module Utf8 = struct
       Uutf.String.fold_utf_8
         (fun _ _ d ->
            match d with
-           | `Uchar 34 ->
-               Buffer.add_string buffer """
-           | `Uchar 38 ->
-               Buffer.add_string buffer "&"
-           | `Uchar 60 ->
-               Buffer.add_string buffer "<"
-           | `Uchar 62 ->
-               Buffer.add_string buffer ">"
-           | `Uchar code ->
+           | `Uchar ucode ->
+	   	begin
+	   	match Uchar.to_int ucode with
+		| 34 -> Buffer.add_string buffer """
+		| 38 -> Buffer.add_string buffer "&"
+		| 60 -> Buffer.add_string buffer "<"
+		| 62 -> Buffer.add_string buffer ">"
+		| code ->
                let u =
                  (* Illegal characters in html
                   http://en.wikipedia.org/wiki/Character_encodings_in_HTML
@@ -181,9 +180,10 @@ module Utf8 = struct
                    || code land 0xFFFF = 0xFFFE
                    || code land 0xFFFF = 0xFFFF
                  then (warn:=true; Uutf.u_rep)
-                 else code
+                 else ucode
                in
                Uutf.Buffer.add_utf_8 buffer u
+	       end
            | `Malformed _ ->
                Uutf.Buffer.add_utf_8 buffer Uutf.u_rep;
                warn:=true)