summaryrefslogtreecommitdiff
path: root/source/fitz/xml.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2014-04-16 16:10:57 +0200
committerTor Andersson <tor.andersson@artifex.com>2014-04-23 14:31:33 +0200
commit648ae8838f35f45e57b9a41f41f30a3b6ade3037 (patch)
treeb3139c09ed8b9e53e2fa2cbfabb215c7daf0cbb9 /source/fitz/xml.c
parent959f70ff9e15d77b043bf49d8065dafbf0757903 (diff)
downloadmupdf-648ae8838f35f45e57b9a41f41f30a3b6ade3037.tar.xz
Fix bug 693580 by skipping xml tag namespace prefixes.
fts_5904.xps and fts_5905.xps use namespace prefixes. Work around that by ignoring the namespace prefix for tag names. A more robust solution would be to expand or record the tag and attribute namespaces in the fz_xml node structure, but that's a overkill for our current needs.
Diffstat (limited to 'source/fitz/xml.c')
-rw-r--r--source/fitz/xml.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/fitz/xml.c b/source/fitz/xml.c
index 34a6b51e..1dd3512f 100644
--- a/source/fitz/xml.c
+++ b/source/fitz/xml.c
@@ -169,6 +169,12 @@ static inline int iswhite(int c)
static void xml_emit_open_tag(struct parser *parser, char *a, char *b)
{
fz_xml *head, *tail;
+ char *ns;
+
+ /* skip namespace prefix */
+ for (ns = a; ns < b; ++ns)
+ if (*ns == ':')
+ a = ns + 1;
head = fz_malloc_struct(parser->ctx, fz_xml);
if (b - a > sizeof(head->name) - 1)