]> git.lizzy.rs Git - dragonblocks_alpha.git/commitdiff
Call dragonnet initializer
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 25 Apr 2022 16:26:51 +0000 (18:26 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 25 Apr 2022 16:26:51 +0000 (18:26 +0200)
deps/dragonnet
src/client/client.c
src/server/database.c
src/server/database.h
src/server/server.c

index 356f2ea3acb517cca7007556074aa0ed94b48876..da776eb101354d0cf62e9c627a470c51a966f655 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 356f2ea3acb517cca7007556074aa0ed94b48876
+Subproject commit da776eb101354d0cf62e9c627a470c51a966f655
index 2adb649eb596aefc1608603a75df4e72615f2d54..1059ac2c9bdd61e0751e9565136ad9d0c0e86961 100644 (file)
@@ -1,4 +1,5 @@
 #define _GNU_SOURCE // don't worry, GNU extensions are only used when available
+#include <dragonnet/init.h>
 #include <dragonstd/flag.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -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;
 }
index d6cdbca820b6e449777b90f22c4a40bb2ed992d8..b80475142ae9fe1bf98178951262a96ab82d31b3 100644 (file)
@@ -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
index 98c5c0e2c802e5aff2a0000e4ad7f38f6cb5f19e..091ef9113cf5c4a0f4cd2228e9da8e45ce670b1f 100644 (file)
@@ -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
index be3605e7ef7130440bd22363286441b6a9a2335f..aa0ec431355c3f5f5ab408e91a806e16d62cfe3e 100644 (file)
@@ -1,5 +1,6 @@
 #define _GNU_SOURCE // don't worry, GNU extensions are only used when available
 #include <dragonnet/addr.h>
+#include <dragonnet/init.h>
 #include <pthread.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -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;
 }