From 6df61b5dda6a07bb1187404e9bdf2579a8cad2ae Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Sat, 4 Aug 2018 21:23:28 -0400 Subject: [PATCH] Show source link on exit --- chat.c | 12 +++++++++++- chat.h | 2 ++ ui.c | 4 ++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/chat.c b/chat.c index cbd9790..30fe272 100644 --- a/chat.c +++ b/chat.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -27,7 +28,14 @@ #include "chat.h" -char *prompt(const char *prompt) { +static void sigint(int sig) { + (void)sig; + input(L"/quit"); + uiHide(); + exit(EX_OK); +} + +static char *prompt(const char *prompt) { char *line = NULL; size_t cap; for (;;) { @@ -67,6 +75,8 @@ int main(int argc, char *argv[]) { if (!chat.nick) chat.nick = prompt("Name: "); chat.user = strdup(chat.nick); + signal(SIGINT, sigint); + uiInit(); uiLog("Traveling..."); uiDraw(); diff --git a/chat.h b/chat.h index e63e0cf..2c9239c 100644 --- a/chat.h +++ b/chat.h @@ -14,6 +14,8 @@ * along with this program. If not, see . */ +#define SOURCE_URL "https://code.causal.agency/june/chat" + #include #include #include diff --git a/ui.c b/ui.c index 0e24510..8938c20 100644 --- a/ui.c +++ b/ui.c @@ -100,6 +100,10 @@ static void uiResize(void) { void uiHide(void) { endwin(); + printf( + "This program is AGPLv3 free software!\n" + "The source is available at <" SOURCE_URL ">\n" + ); } void uiDraw(void) {