Fix traversing method in Node Iterator

This commit is contained in:
iska
2015-05-28 01:21:06 +02:00
parent 13ed63017e
commit 0fa394b911
+5 -5
View File
@@ -47,16 +47,16 @@ typedef NS_ENUM(short, TraverseDirection)
if (node == nil) {
return nil;
}
beforeNode = NO;
}
beforeNode = NO;
} else {
if (beforeNode) {
node = PrecedingNode(node, self.root);
if (node == nil) {
return nil;
}
beforeNode = YES;
}
beforeNode = YES;
}
} while (FilterNode(self, node) != HTMLNodeFilterAccept);
@@ -69,10 +69,10 @@ NS_INLINE HTMLNode * PrecedingNode(HTMLNode *node, HTMLNode *root)
{
HTMLNode *previous = node.previousSibling;
if (previous != nil) {
while (node.lastChildNode != nil) {
node = node.lastChildNode;
while (previous.lastChildNode != nil) {
previous = previous.lastChildNode;
}
return node;
return previous;
}
if (node == root) {