Hi,
When using libxml2 git master, some lxml tests fail. The cause is this commit:
commit ba58f23c60862f2158b457f4d30031761bf4dde1
Author: Nick Wellnhofer <wellnhofer aevum de>
Date: Sun Mar 8 16:44:11 2015 +0100
Fix order of root nodes
Make sure root nodes are sorted before other nodes.
diff --git a/xpath.c b/xpath.c
index ffd2a48..e9f5bf9 100644
--- a/xpath.c
+++ b/xpath.c
@@ -361,13 +361,13 @@ turtle_comparison:
/*
* compute depth to root
*/
- for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) {
+ for (depth2 = 0, cur = node2; cur != NULL; cur = cur->parent) {
if (cur == node1)
return(1);
depth2++;
}
root = cur;
- for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) {
+ for (depth1 = 0, cur = node1; cur != NULL; cur = cur->parent) {
if (cur == node2)
return(-1);
depth1++;
}
/*
* Distinct document (or distinct entities :-( ) case.
*/
if (root != cur) {
return(-2);
}
Consider the last three lines. After the change, root == NULL == cur,
and the condition (root != cur) is always false. That’s not
what we want.
Patch attached.
Regards
Olli Pottonen
Attachment:
xpathpatch.txt
Description: Text document