diff options
author | Hans-Joachim Lankenau <hjs@openoffice.org> | 2010-12-14 15:42:18 +0100 |
---|---|---|
committer | Hans-Joachim Lankenau <hjs@openoffice.org> | 2010-12-14 15:42:18 +0100 |
commit | 8b118d3a1fbfebb44499495e016b02eb345e41f0 (patch) | |
tree | 7c07ff604733e2a768550777bee1956de9d49650 /libxml2 | |
parent | 7193ff6602780443d0c0b6ec8dac057db6983e4d (diff) | |
parent | 8916986e5bd66a2d7ae0861a0cdf507d90ee7b64 (diff) |
merge OOO330
Diffstat (limited to 'libxml2')
-rw-r--r-- | libxml2/libxml2-xpath.patch | 49 | ||||
-rw-r--r-- | libxml2/makefile.mk | 1 |
2 files changed, 50 insertions, 0 deletions
diff --git a/libxml2/libxml2-xpath.patch b/libxml2/libxml2-xpath.patch new file mode 100644 index 000000000000..e02982f16efe --- /dev/null +++ b/libxml2/libxml2-xpath.patch @@ -0,0 +1,49 @@ +--- misc/libxml2-2.7.6/xpath.c ++++ misc/build/libxml2-2.7.6/xpath.c +@@ -8104,9 +8104,17 @@ + xmlNodePtr + xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) { + if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL); +- if (cur != NULL && cur->children != NULL) +- return cur->children ; +- if (cur == NULL) cur = ctxt->context->node; ++ if ((cur != NULL) && (cur->type != XML_ATTRIBUTE_NODE) && ++ (cur->type != XML_NAMESPACE_DECL) && (cur->children != NULL)) ++ return(cur->children); ++ ++ if (cur == NULL) { ++ cur = ctxt->context->node; ++ if (cur->type == XML_NAMESPACE_DECL) ++ return(NULL); ++ if (cur->type == XML_ATTRIBUTE_NODE) ++ cur = cur->parent; ++ } + if (cur == NULL) return(NULL) ; /* ERROR */ + if (cur->next != NULL) return(cur->next) ; + do { +@@ -8160,8 +8168,13 @@ + xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) + { + if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL); +- if (cur == NULL) ++ if (cur == NULL) { + cur = ctxt->context->node; ++ if (cur->type == XML_NAMESPACE_DECL) ++ return(NULL); ++ if (cur->type == XML_ATTRIBUTE_NODE) ++ return(cur->parent); ++ } + if (cur == NULL) + return (NULL); + if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE)) +@@ -8205,8 +8218,8 @@ + cur = ctxt->context->node; + if (cur == NULL) + return (NULL); +- if (cur->type == XML_NAMESPACE_DECL) +- cur = (xmlNodePtr)((xmlNsPtr)cur)->next; ++ if (cur->type == XML_NAMESPACE_DECL) ++ return (NULL); + ctxt->ancestor = cur->parent; + } + if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE)) diff --git a/libxml2/makefile.mk b/libxml2/makefile.mk index 453ba3a68406..b172b9b89b8f 100644 --- a/libxml2/makefile.mk +++ b/libxml2/makefile.mk @@ -51,6 +51,7 @@ TARFILE_MD5=7740a8ec23878a2f50120e1faa2730f2 PATCH_FILES=libxml2-configure.patch \ libxml2-mingw.patch \ libxml2-gnome599717.patch \ + libxml2-xpath.patch \ libxml2-global-symbols.patch \ |