diff options
| author | frosty <frosty@illegalfirearms.store> | 2026-01-22 13:14:02 -0500 |
|---|---|---|
| committer | frosty <frosty@illegalfirearms.store> | 2026-01-22 13:14:02 -0500 |
| commit | 7c8b66c832adf9dcb1e732c4843a6a3bdbc8f416 (patch) | |
| tree | 4d1495979699328d52b9b0b9d14be1a0433e205d | |
| parent | 19ad149038acce763f3952a0d5334344944aa6ea (diff) | |
removed now redundant escaping (update your libbeaker)
| -rw-r--r-- | src/Routes/Search.c | 71 |
1 files changed, 17 insertions, 54 deletions
diff --git a/src/Routes/Search.c b/src/Routes/Search.c index fcddfc2..aed35c4 100644 --- a/src/Routes/Search.c +++ b/src/Routes/Search.c @@ -95,23 +95,19 @@ int results_handler(UrlParams *params) { } } - char *encoded_query = strdup(raw_query); - char *display_query = url_decode_query(raw_query); - LOG_INFO("Processing search request for query: '%s'", display_query); - context_set(&ctx, "query", display_query); + LOG_INFO("Processing search request for query: '%s'", raw_query); + context_set(&ctx, "query", raw_query); - if (!encoded_query || strlen(encoded_query) == 0) { + if (!raw_query || strlen(raw_query) == 0) { LOG_ERROR("Empty search query provided."); send_response("<h1>No query provided</h1>"); - if (encoded_query) free(encoded_query); - if (display_query) free(display_query); free_context(&ctx); return -1; } pthread_t wiki_tid, calc_tid; - InfoBoxThreadData wiki_data = {.query = display_query, .success = 0}; - InfoBoxThreadData calc_data = {.query = display_query, .success = 0}; + InfoBoxThreadData wiki_data = {.query = raw_query, .success = 0}; + InfoBoxThreadData calc_data = {.query = raw_query, .success = 0}; pthread_create(&wiki_tid, NULL, wiki_thread_func, &wiki_data); pthread_create(&calc_tid, NULL, calc_thread_func, &calc_data); @@ -122,7 +118,7 @@ int results_handler(UrlParams *params) { for (int i = 0; i < ENGINE_COUNT; i++) { all_results[i] = NULL; jobs[i].engine = &ENGINE_REGISTRY[i]; - jobs[i].query = encoded_query; + jobs[i].query = raw_query; jobs[i].out_results = &all_results[i]; jobs[i].max_results = 10; jobs[i].results_count = 0; @@ -138,17 +134,13 @@ int results_handler(UrlParams *params) { int infobox_count = 0; if (calc_data.success) { - LOG_INFO("Calculator result available, adding to InfoBox"); - infobox_count = - add_infobox_to_collection(&calc_data.result, &infobox_matrix, - &infobox_inner_counts, infobox_count); + infobox_count = add_infobox_to_collection(&calc_data.result, &infobox_matrix, + &infobox_inner_counts, infobox_count); } if (wiki_data.success) { - LOG_INFO("Wikipedia result available, adding to InfoBox"); - infobox_count = - add_infobox_to_collection(&wiki_data.result, &infobox_matrix, - &infobox_inner_counts, infobox_count); + infobox_count = add_infobox_to_collection(&wiki_data.result, &infobox_matrix, + &infobox_inner_counts, infobox_count); } if (infobox_count > 0) { @@ -156,15 +148,11 @@ int results_handler(UrlParams *params) { infobox_count, infobox_inner_counts); free(infobox_matrix); free(infobox_inner_counts); - } else { - context_set_array_of_arrays(&ctx, "infoboxes", NULL, 0, NULL); } int total_results = 0; for (int i = 0; i < ENGINE_COUNT; i++) { total_results += jobs[i].results_count; - LOG_INFO("Engine %s returned %d results", - jobs[i].engine->name, jobs[i].results_count); } if (total_results > 0) { @@ -175,9 +163,7 @@ int results_handler(UrlParams *params) { for (int i = 0; i < ENGINE_COUNT; i++) { for (int j = 0; j < jobs[i].results_count; j++) { - char *raw_url = all_results[i][j].url; - char *clean_url = unescape_search_url(raw_url); - char *display_url = clean_url ? clean_url : raw_url; + char *display_url = all_results[i][j].url; int is_duplicate = 0; for (int k = 0; k < unique_count; k++) { @@ -188,7 +174,6 @@ int results_handler(UrlParams *params) { } if (is_duplicate) { - if (clean_url) free(clean_url); free(all_results[i][j].url); free(all_results[i][j].title); free(all_results[i][j].snippet); @@ -201,14 +186,8 @@ int results_handler(UrlParams *params) { results_matrix[unique_count][0] = strdup(display_url); results_matrix[unique_count][1] = strdup(pretty_url); - results_matrix[unique_count][2] = - all_results[i][j].title - ? strdup(all_results[i][j].title) - : strdup("Untitled"); - results_matrix[unique_count][3] = - all_results[i][j].snippet - ? strdup(all_results[i][j].snippet) - : strdup(""); + results_matrix[unique_count][2] = all_results[i][j].title ? strdup(all_results[i][j].title) : strdup("Untitled"); + results_matrix[unique_count][3] = all_results[i][j].snippet ? strdup(all_results[i][j].snippet) : strdup(""); results_inner_counts[unique_count] = 4; @@ -216,20 +195,13 @@ int results_handler(UrlParams *params) { free(all_results[i][j].url); free(all_results[i][j].title); free(all_results[i][j].snippet); - if (clean_url) free(clean_url); unique_count++; } - - if (all_results[i]) { - free(all_results[i]); - } + free(all_results[i]); } - LOG_INFO("Deduplicated to %d unique results", unique_count); - - context_set_array_of_arrays(&ctx, "results", results_matrix, unique_count, - results_inner_counts); + context_set_array_of_arrays(&ctx, "results", results_matrix, unique_count, results_inner_counts); char *html = render_template("results.html", &ctx); if (html) { @@ -246,7 +218,6 @@ int results_handler(UrlParams *params) { free(results_matrix); free(results_inner_counts); } else { - LOG_WARN("No search results found for query: '%s'", display_query); char *html = render_template("results.html", &ctx); if (html) { send_response(html); @@ -254,16 +225,8 @@ int results_handler(UrlParams *params) { } } - if (wiki_data.success) { - free_infobox(&wiki_data.result); - } - - if (calc_data.success) { - free_infobox(&calc_data.result); - } - - free(encoded_query); - free(display_query); + if (wiki_data.success) free_infobox(&wiki_data.result); + if (calc_data.success) free_infobox(&calc_data.result); free_context(&ctx); return 0; |
