aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfrosty <frosty@illegalfirearms.store>2026-01-22 13:14:02 -0500
committerfrosty <frosty@illegalfirearms.store>2026-01-22 13:14:02 -0500
commit7c8b66c832adf9dcb1e732c4843a6a3bdbc8f416 (patch)
tree4d1495979699328d52b9b0b9d14be1a0433e205d /src
parent19ad149038acce763f3952a0d5334344944aa6ea (diff)
removed now redundant escaping (update your libbeaker)
Diffstat (limited to 'src')
-rw-r--r--src/Routes/Search.c71
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;