diff options
| author | 2024-02-12 21:09:10 -0500 | |
|---|---|---|
| committer | 2024-02-12 21:09:10 -0500 | |
| commit | bbf3314165182e402ff25acccddc004a87f81ef0 (patch) | |
| tree | 192eb958781a59e9601e7b7eef9d0eadcb9b8b11 /src/tree | |
| parent | 0b7a612a9baf49765db8b127e696913100b70f5f (diff) | |
| download | camu-bbf3314165182e402ff25acccddc004a87f81ef0.tar.gz camu-bbf3314165182e402ff25acccddc004a87f81ef0.tar.bz2 camu-bbf3314165182e402ff25acccddc004a87f81ef0.zip | |
Initial cmc implementation, sink fixes
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/tree')
| -rw-r--r-- | src/tree/common.h | 2 | ||||
| -rw-r--r-- | src/tree/tree.c | 16 | ||||
| -rw-r--r-- | src/tree/tree.h | 2 |
3 files changed, 12 insertions, 8 deletions
diff --git a/src/tree/common.h b/src/tree/common.h index de6258b..f740a4e 100644 --- a/src/tree/common.h +++ b/src/tree/common.h @@ -9,6 +9,8 @@ #define TREE_SERVER_IP al_str_c("127.0.0.1") //#define TREE_SERVER_IP al_str_c("108.52.160.112") +#define CAMU_DB_PATH al_str_c("/mnt/store/files/camu_db") + enum { TREE_NODE = 0, TREE_CLIENT, diff --git a/src/tree/tree.c b/src/tree/tree.c index 1be4891..c57d56c 100644 --- a/src/tree/tree.c +++ b/src/tree/tree.c @@ -1,5 +1,6 @@ #include <al/log.h> #include <aki/file.h> +#include <blake3.h> #include <jansson.h> #include "tree.h" @@ -97,7 +98,7 @@ static void send_current_state(struct tree_server *server, struct tree_user *use aki_packet_write_s32(packet, search->id); aki_packet_write_str(packet, &search->module); aki_packet_write_str(packet, &search->query); - aki_packet_write_u32(packet, search->last_page); + aki_packet_write_u32(packet, search->page); } aki_rpc_connection_command(conn, packet, NULL, NULL); } @@ -326,9 +327,14 @@ static bool open_user(struct tree_server *tree, struct aki_dir_entry *dir) str s; aki_file_read_as_str(&file, &s); json_error_t error; - json_t *json = json_loadb(s.data, s.len, 0, &error); + json_t *root = json_loadb(s.data, s.len, 0, &error); + if (!root) { + al_log_error("tree", "Failed to parse json: %.*s:%d:%d (%s).", AL_STR_PRINTF(&dir->path), + error.line, error.column, error.text); + return false; + } struct tree_user *user = al_alloc_object(struct tree_user); - al_str_from(&user->username, json_string_value(json_object_get(json, "username"))); + al_str_from(&user->username, json_string_value(json_object_get(root, "username"))); sho_client_init(&user->search, &tree->resources.cache); al_array_init(user->lists); struct tree_list *default_list = al_alloc_object(struct tree_list); @@ -409,9 +415,7 @@ s32 main(void) al_array_init(tree.sinks); al_array_init(tree.users); - if (!open_db(&tree, al_str_c(CAMU_DB_PATH))) { - return EXIT_FAILURE; - } + if (!open_db(&tree, CAMU_DB_PATH)) return EXIT_FAILURE; sho_post_cache_init(&tree.resources.cache); diff --git a/src/tree/tree.h b/src/tree/tree.h index 9f8a19a..b8edaad 100644 --- a/src/tree/tree.h +++ b/src/tree/tree.h @@ -15,8 +15,6 @@ #include "resource_manager.h" #include "list.h" -#define CAMU_DB_PATH "/home/andrew/c/camu/data/camu_db_test" - struct tree_node { struct aki_rpc_connection *conn; }; |