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)
|