diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2014-04-16 16:10:57 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2014-04-23 14:31:33 +0200 |
commit | 648ae8838f35f45e57b9a41f41f30a3b6ade3037 (patch) | |
tree | b3139c09ed8b9e53e2fa2cbfabb215c7daf0cbb9 /source/fitz | |
parent | 959f70ff9e15d77b043bf49d8065dafbf0757903 (diff) | |
download | mupdf-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')
-rw-r--r-- | source/fitz/xml.c | 6 |
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) |