summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2021-07-26 21:29:33 +0200
committerAnton Luka Šijanec <anton@sijanec.eu>2021-07-26 21:29:33 +0200
commit1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06 (patch)
treebf1297c93a6a69c40aebfafa5372d2b8ab97d24b /src/main.c
parentremoved useless dependency: math (diff)
downloaddiscord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.tar
discord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.tar.gz
discord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.tar.bz2
discord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.tar.lz
discord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.tar.xz
discord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.tar.zst
discord.c-1cd23bc80c64d5e0e6c33e1d4f2b6cf1e2d53a06.zip
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c83
1 files changed, 5 insertions, 78 deletions
diff --git a/src/main.c b/src/main.c
index df55b80..9a4ac4d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,81 +1,8 @@
-#define _XOPEN_SOURCE 600
#include <stdio.h>
-/* #define DC_NETREQ */
-#ifdef DC_NETREQ
-FILE * netreq;
-#endif
+#include <stdlib.h>
#include <ui.c>
-int main (int argc, char ** argv) {
- srand(time(NULL));
-#ifdef DC_NETREQ
- netreq = fopen("netreq.log", "w");
-#endif
- int rs = 0;
- int opt;
- pthread_t api_thread, ui_thread;
- int api_ret, ui_ret;
- struct dc_client * c = dc_client_init();
- struct dc_thread_control t = {
- .power_api = 0,
- .power_ui = 1, /* so we don't start without user interface lol */
- .clients = &c,
- .clients_sizeof = 1,
- .cout = stdout,
- .cin = stdin,
- .cerr = stderr
- };
- while ((opt = getopt(argc, argv, "e:p:h")) != -1) {
- switch (opt) {
- case 'h':
- fprintf(stdout, DC_I18N_USAGE, argv[0]);
- rs = 4;
- goto rc;
- break;
- case 'e':
- c->email = malloc(strlen(optarg)+1);
- strcpy(c->email, optarg);
- break;
- case 'p':
- c->password = malloc(strlen(optarg)+1);
- strcpy(c->password, optarg);
- break;
- default:
- fprintf(stderr, DC_I18N_UNREC_ARG "\n", opt);
- dc_client_free(c);
- rs = 1;
- goto rc;
- }
- }
- if (!c->email) {
- if (!getenv("DC_E")) {
- fprintf(stderr, DC_I18N_MISSING_EP "\n");
- rs = 2;
- goto rc;
- }
- c->email = malloc(strlen(getenv("DC_E"))+1);
- strcpy(c->email, getenv("DC_E"));
- }
- if (!c->password) {
- if (!getenv("DC_P")) {
- fprintf(stderr, DC_I18N_MISSING_EP "\n");
- rs = 3;
- goto rc;
- }
- c->password = malloc(strlen(getenv("DC_P"))+1);
- strcpy(c->password, getenv("DC_P"));
- }
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
- api_ret = pthread_create(&api_thread, NULL, dc_api_thread, &t);
- ui_ret = pthread_create(&ui_thread, NULL, dc_ui_thread, &t);
-#pragma GCC diagnostic pop
- pthread_join(api_thread, NULL);
- pthread_join(ui_thread, NULL);
- rc:
-#ifdef DC_NETREQ
- fclose(netreq);
-#endif
- dc_client_free(c);
- if (api_ret || ui_ret); /* to hide warnings */
- return rs;
+#include <api.c>
+int main (int argc, char * argv[]) {
+ dc_ui(argc, argv);
+ return 0;
}