aboutsummaryrefslogtreecommitdiff
path: root/src/HtmlSearch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/HtmlSearch.c')
-rw-r--r--src/HtmlSearch.c14
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;
}