From 9b1b2de40f4550cb77f72c19f84d7e3a381d004f Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Mon, 25 Apr 2022 18:26:51 +0200 Subject: [PATCH] Call dragonnet initializer --- deps/dragonnet | 2 +- src/client/client.c | 3 +++ src/server/database.c | 8 +++----- src/server/database.h | 2 +- src/server/server.c | 7 ++++--- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/deps/dragonnet b/deps/dragonnet index 356f2ea..da776eb 160000 --- a/deps/dragonnet +++ b/deps/dragonnet @@ -1 +1 @@ -Subproject commit 356f2ea3acb517cca7007556074aa0ed94b48876 +Subproject commit da776eb101354d0cf62e9c627a470c51a966f655 diff --git a/src/client/client.c b/src/client/client.c index 2adb649..1059ac2 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -1,4 +1,5 @@ #define _GNU_SOURCE // don't worry, GNU extensions are only used when available +#include #include #include #include @@ -118,6 +119,7 @@ int main(int argc, char **argv) return EXIT_FAILURE; } + dragonnet_init(); if (!(client = dragonnet_connect(argv[1]))) { fprintf(stderr, "[error] failed to connect to server\n"); return EXIT_FAILURE; @@ -165,5 +167,6 @@ int main(int argc, char **argv) flag_dst(&finish); flag_dst(&gfx_init); + dragonnet_deinit(); return EXIT_SUCCESS; } diff --git a/src/server/database.c b/src/server/database.c index d6cdbca..b804751 100644 --- a/src/server/database.c +++ b/src/server/database.c @@ -68,7 +68,7 @@ static inline void bind_v3f32(sqlite3_stmt *stmt, int idx, v3f32 pos) // public functions // open and initialize SQLite3 databases -bool database_init() +void database_init() { struct { sqlite3 **handle; @@ -83,14 +83,14 @@ bool database_init() for (int i = 0; i < 3; i++) { if (sqlite3_open_v2(databases[i].path, databases[i].handle, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX, NULL) != SQLITE_OK) { fprintf(stderr, "[error] failed to open %s: %s\n", databases[i].path, sqlite3_errmsg(*databases[i].handle)); - return false; + abort(); } char *err; if (sqlite3_exec(*databases[i].handle, databases[i].init, NULL, NULL, &err) != SQLITE_OK) { fprintf(stderr, "[error] failed initializing %s: %s\n", databases[i].path, err); sqlite3_free(err); - return false; + abort(); } } @@ -110,8 +110,6 @@ bool database_init() set_time_of_day(time_of_day); else set_time_of_day(12 * MINUTES_PER_HOUR); - - return true; } // close databases diff --git a/src/server/database.h b/src/server/database.h index 98c5c0e..091ef91 100644 --- a/src/server/database.h +++ b/src/server/database.h @@ -5,7 +5,7 @@ #include "common/terrain.h" #include "types.h" -bool database_init(); // open and initialize SQLite3 databases +void database_init(); // open and initialize SQLite3 databases void database_deinit(); // close databases bool database_load_chunk(TerrainChunk *chunk); // load a chunk from terrain database (initializes state, tgs buffer and data), returns false on failure void database_save_chunk(TerrainChunk *chunk); // save a chunk to terrain database diff --git a/src/server/server.c b/src/server/server.c index be3605e..aa0ec43 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -1,5 +1,6 @@ #define _GNU_SOURCE // don't worry, GNU extensions are only used when available #include +#include #include #include #include @@ -61,6 +62,7 @@ int main(int argc, char **argv) return EXIT_FAILURE; } + dragonnet_init(); if (!(server = dragonnet_listener_new(argv[1]))) { fprintf(stderr, "[error] failed to listen to connections\n"); return EXIT_FAILURE; @@ -79,8 +81,7 @@ int main(int argc, char **argv) srand(time(0)); interrupt_init(); - if (!database_init()) - return EXIT_FAILURE; + database_init(); server_terrain_init(); server_player_init(); @@ -98,6 +99,6 @@ int main(int argc, char **argv) interrupt_deinit(); dragonnet_listener_delete(server); - + dragonnet_deinit(); return EXIT_SUCCESS; } -- 2.44.0