summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Beckett <dave@dajobe.org>2003-03-26 18:25:25 +0000
committerDave Beckett <dave@dajobe.org>2003-03-26 18:25:25 +0000
commit3f420375b5d6a3ddf05bbb61c993d13bf1a50686 (patch)
tree267a08dde02c1e54a7af05f1e7f90c13b249bf26
parente523d49726455641bfb3f2b5d212a87d83e75e4f (diff)
downloadraptor-3f420375b5d6a3ddf05bbb61c993d13bf1a50686.tar.gz
(raptor_xml_escape_string): Make it work with 10ffff again
-rw-r--r--src/raptor_general.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/raptor_general.c b/src/raptor_general.c
index b9a56f0f..06c607fd 100644
--- a/src/raptor_general.c
+++ b/src/raptor_general.c
@@ -1106,6 +1106,9 @@ raptor_xml_escape_string(raptor_parser *rdf_parser,
if(unichar > 0xffff)
/* &#xXXXXX; */
new_len++;
+ if(unichar > 0xfffff)
+ /* &#xXXXXXX; */
+ new_len++;
} else
new_len++;
@@ -1150,10 +1153,14 @@ raptor_xml_escape_string(raptor_parser *rdf_parser,
/* &#xXXXX; */
sprintf(q, "&#x%04lX;", unichar);
q+= 8;
- } else {
+ } else if (unichar < 0x100000) {
/* &#xXXXXX; */
sprintf(q, "&#x%05lX;", unichar);
q+= 9;
+ } else {
+ /* &#xXXXXXX; */
+ sprintf(q, "&#x%06lX;", unichar);
+ q+= 10;
}
} else
*q++ = unichar;