summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-11-30 14:32:51 -0500
committerAndrew Opalach <andrew@akon.city> 2025-11-30 14:32:51 -0500
commitc8412bbedae0fce38db96833732e8ce904721e4c (patch)
tree4611046186c714513d042966ce97825df0fecf9e /src/server
parent0d6d13425015d78606232874498327cabcb0e4e2 (diff)
downloadcamu-c8412bbedae0fce38db96833732e8ce904721e4c.tar.gz
camu-c8412bbedae0fce38db96833732e8ce904721e4c.tar.bz2
camu-c8412bbedae0fce38db96833732e8ce904721e4c.zip
Build cleanup and fixes from sink testing
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/server')
-rw-r--r--src/server/server.c36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/server/server.c b/src/server/server.c
index ae77ef0..59a0f7a 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -590,28 +590,31 @@ out:
#ifdef CAMU_HAVE_PORTAL
static void simple_search_portal_callback(void *userdata0, void *userdata1, struct camu_portal_result *result)
{
- struct camu_server *server = (struct camu_server *)userdata0;
struct camu_resource *resource = (struct camu_resource *)userdata1;
- switch (result->op) {
- case CAMU_CLIENT_CREATE_SEARCH:
- if (result->id == -1) {
- break;
- }
- camu_portal_get_page(&server->bridge, result->id, 0, simple_search_portal_callback, resource);
- return;
- case CAMU_CLIENT_GET_PAGE:
- if (result->id == -1 || !result->page || !result->page->list.count) {
- break;
+ if (result) {
+ struct camu_server *server = (struct camu_server *)userdata0;
+ switch (result->op) {
+ case CAMU_CLIENT_CREATE_SEARCH:
+ if (result->id == -1) {
+ break;
+ }
+ camu_portal_get_page(&server->bridge, result->id, 0, simple_search_portal_callback, resource);
+ return;
+ case CAMU_CLIENT_GET_PAGE:
+ if (result->id == -1 || !result->page || !result->page->list.count) {
+ break;
+ }
+ resource->post = camu_post_cache_get(&server->cache, &al_array_at(result->page->list, 0));
+ resource->type = CAMU_RESOURCE_PORTAL;
+ prepare_server_resource(server, resource);
+ process_pending(resource);
+ return;
}
- resource->post = camu_post_cache_get(&server->cache, &al_array_at(result->page->list, 0));
- resource->type = CAMU_RESOURCE_PORTAL;
- prepare_server_resource(server, resource);
- process_pending(resource);
- return;
}
// No return is the error case.
log_warn("Failed to process search request.");
resource->load = LIANA_ENTRY_ERRORED;
+ process_pending(resource);
}
#endif
@@ -684,6 +687,7 @@ static void handle_add_command(struct camu_server *server, struct lia_list *list
al_str_from(&query, "link:");
al_str_cat(&query, &line);
}
+ log_info("Processing search request: %.*s.", al_str_x(&query));
camu_portal_create_search(&server->bridge, &al_str_c("youtube"),
&query, simple_search_portal_callback, resource);
al_str_free(&query);