From f93af40f28971274892a388b63752d2dd350ea93 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Wed, 4 Sep 2013 02:05:36 -0400 Subject: [PATCH] Save messenger data on exit --- src/chat.c | 4 ++++ src/friendlist.c | 3 +-- src/prompt.c | 1 + src/windows.c | 5 +---- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/chat.c b/src/chat.c index dbc53c5..5a4e283 100644 --- a/src/chat.c +++ b/src/chat.c @@ -19,6 +19,9 @@ #define CURS_Y_OFFSET 3 +extern char *DATA_FILE; +extern int store_data(Tox *m, char *path); + typedef struct { int friendnum; wchar_t line[MAX_STR_SIZE]; @@ -270,6 +273,7 @@ void execute(ToxWindow *self, ChatContext *ctx, Tox *m, char *cmd) else if (!strcmp(cmd, "/quit") || !strcmp(cmd, "/exit") || !strcmp(cmd, "/q")) { endwin(); + store_data(m, DATA_FILE); tox_kill(m); exit(0); } diff --git a/src/friendlist.c b/src/friendlist.c index 3849082..3a349ef 100644 --- a/src/friendlist.c +++ b/src/friendlist.c @@ -37,9 +37,8 @@ void friendlist_onMessage(ToxWindow *self, Tox *m, int num, uint8_t *str, uint16 if (num >= num_friends) return; - if (friends[num].chatwin == -1) { + if (friends[num].chatwin == -1) friends[num].chatwin = add_window(m, new_chat(m, friends[num].num)); - } } void friendlist_onNickChange(ToxWindow *self, int num, uint8_t *str, uint16_t len) diff --git a/src/prompt.c b/src/prompt.c index 19ab274..2865654 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -235,6 +235,7 @@ void cmd_connect(ToxWindow *self, Tox *m, int argc, char **argv) void cmd_quit(ToxWindow *self, Tox *m, int argc, char **argv) { endwin(); + store_data(m, DATA_FILE); tox_kill(m); exit(0); } diff --git a/src/windows.c b/src/windows.c index 229e224..1e28667 100644 --- a/src/windows.c +++ b/src/windows.c @@ -64,11 +64,8 @@ void on_nickchange(Tox *m, int friendnumber, uint8_t *string, uint16_t length, v int i; for (i = 0; i < MAX_WINDOWS_NUM; ++i) { - if (windows[i].onNickChange != NULL) { + if (windows[i].onNickChange != NULL) windows[i].onNickChange(&windows[i], friendnumber, string, length); - if (store_data(m, DATA_FILE)) - wprintw(prompt->window, "\nCould not store Tox data\n"); - } } }