diff options
Diffstat (limited to 'src/HtmlSearch.c')
-rw-r--r-- | src/HtmlSearch.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/HtmlSearch.c b/src/HtmlSearch.c index e59dc1e..c3608dd 100644 --- a/src/HtmlSearch.c +++ b/src/HtmlSearch.c @@ -41,7 +41,7 @@ static void find_child_nodes(TidyDoc tdoc, TidyNode node, const QuickMediaNodeSe } while(0) /* If we search without param, then it's a match */ - if(!search_data->param_defined) { + if(!search_data->param.defined) { on_match(); continue; } @@ -123,8 +123,12 @@ static int quickmedia_html_find_nodes(const char *html_source, QuickMediaNodeSea int quickmedia_html_find_nodes_xpath(const char *html_source, const char *xpath, QuickMediaHtmlSearchResultCallback result_callback, void *userdata) { QuickMediaNodeSearch search_data; - int xpath_result = quickmedia_parse_xpath(xpath, &search_data); - if(xpath_result != 0) - return xpath_result; - return quickmedia_html_find_nodes(html_source, &search_data, result_callback, userdata); + quickmedia_node_search_init(&search_data); + int result = quickmedia_parse_xpath(xpath, &search_data); + if(result != 0) + goto cleanup; + result = quickmedia_html_find_nodes(html_source, &search_data, result_callback, userdata); + cleanup: + quickmedia_node_search_deinit(&search_data); + return result; } |