diff --git a/Sources/HTMLDOMUtils.h b/Sources/HTMLDOMUtils.h index fba89a6..2b62d59 100644 --- a/Sources/HTMLDOMUtils.h +++ b/Sources/HTMLDOMUtils.h @@ -7,7 +7,8 @@ // #import +#import "HTMLDOM.h" -@interface HTMLDOMUtils : NSObject +@class HTMLNode; -@end +extern HTMLNode * GetCommonAncestorContainer(HTMLNode *nodeA, HTMLNode *nodeB); diff --git a/Sources/HTMLDOMUtils.m b/Sources/HTMLDOMUtils.m index 7ab2d01..45a95ef 100644 --- a/Sources/HTMLDOMUtils.m +++ b/Sources/HTMLDOMUtils.m @@ -7,7 +7,17 @@ // #import "HTMLDOMUtils.h" +#import "HTMLNode.h" -@implementation HTMLDOMUtils +extern HTMLNode * GetCommonAncestorContainer(HTMLNode *nodeA, HTMLNode *nodeB) +{ + for (HTMLNode *parentA = nodeA; parentA != nil; parentA = parentA.parentNode) { + for (HTMLNode *parentB = nodeB; parentB != nil; parentB = parentB.parentNode) { + if (parentA == parentB) { + return parentA; + } + } + } -@end + return nil; +}