From 70cf778548fc47d99fef83b892191902178d1242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Mon, 20 Sep 2021 21:12:28 +0200 Subject: untested, compiles --- src/main.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 401fb2d..7288332 100644 --- a/src/main.c +++ b/src/main.c @@ -3,10 +3,20 @@ #include #include #include +#include #include #include #include +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; } -- cgit v1.2.3