diff options
author | Anton Luka Šijanec <anton@sijanec.eu> | 2021-09-20 21:12:28 +0200 |
---|---|---|
committer | Anton Luka Šijanec <anton@sijanec.eu> | 2021-09-20 21:12:28 +0200 |
commit | 70cf778548fc47d99fef83b892191902178d1242 (patch) | |
tree | 2e621cd1fb1e7a2c030f6391fab2037e29fb8458 /src/main.c | |
parent | this will NEVER work (no, it will, i'm just tired) (diff) | |
download | discord.c-70cf778548fc47d99fef83b892191902178d1242.tar discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.gz discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.bz2 discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.lz discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.xz discord.c-70cf778548fc47d99fef83b892191902178d1242.tar.zst discord.c-70cf778548fc47d99fef83b892191902178d1242.zip |
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -3,10 +3,20 @@ #include <math.h> #include <libwebsockets.h> #include <assert.h> +#include <signal.h> #include <lib.c> #include <ui.c> #include <api.c> +int dc_interrupted; +void dc_signal (int i) { + dc_interrupted++; + return; +} int main (int argc, char * argv[]) { + if (DC_JSON_PATHS_LENGTH != sizeof(dc_json_paths)/sizeof(dc_json_paths[0]) || DC_JSON_PATHS_LENGTH > 255) { + fprintf(stderr, "json paths enum: %d, array: %d (255 is max, must be same)\n", DC_JSON_PATHS_LENGTH, sizeof(dc_json_paths)/sizeof(dc_json_paths[0])); + return 1; + } struct dc_program * p = dc_program_init(); struct dc_client * client = dc_client_init(); lws_set_log_level(0xFF /* all message types */, NULL /* not change output location - cerr */); @@ -18,9 +28,10 @@ int main (int argc, char * argv[]) { .client = client }; dc_api_i(i); - while (1) + signal(SIGINT, dc_signal); + while (!dc_interrupted) i = dc_api_o(i); /* dc_ui(argc, argv); */ - dc_program_free(p); + dc_program_free(p, DC_UNSET); return 0; } |