summaryrefslogtreecommitdiff
path: root/debian/patches/0005-Account-for-ID-attributes-in-xmlSetTreeDoc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0005-Account-for-ID-attributes-in-xmlSetTreeDoc.patch')
-rw-r--r--debian/patches/0005-Account-for-ID-attributes-in-xmlSetTreeDoc.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/debian/patches/0005-Account-for-ID-attributes-in-xmlSetTreeDoc.patch b/debian/patches/0005-Account-for-ID-attributes-in-xmlSetTreeDoc.patch
new file mode 100644
index 0000000..18d7720
--- /dev/null
+++ b/debian/patches/0005-Account-for-ID-attributes-in-xmlSetTreeDoc.patch
@@ -0,0 +1,32 @@
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Fri, 19 Dec 2014 00:08:35 +0100
+Subject: Account for ID attributes in xmlSetTreeDoc
+
+---
+ tree.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/tree.c b/tree.c
+index 307782c..ff9a890 100644
+--- a/tree.c
++++ b/tree.c
+@@ -2799,8 +2799,19 @@ xmlSetTreeDoc(xmlNodePtr tree, xmlDocPtr doc) {
+ if(tree->type == XML_ELEMENT_NODE) {
+ prop = tree->properties;
+ while (prop != NULL) {
++ if (prop->atype == XML_ATTRIBUTE_ID) {
++ xmlRemoveID(tree->doc, prop);
++ }
++
+ prop->doc = doc;
+ xmlSetListDoc(prop->children, doc);
++
++ if (xmlIsID(doc, tree, prop)) {
++ xmlChar *idVal = xmlNodeListGetString(doc, prop->children,
++ 1);
++ xmlAddID(NULL, doc, idVal, prop);
++ }
++
+ prop = prop->next;
+ }
+ }