aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nyancat.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nyancat.c b/src/nyancat.c
index cd109de..ab36280 100644
--- a/src/nyancat.c
+++ b/src/nyancat.c
@@ -34,6 +34,7 @@
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
+#include <signal.h>
char * colors[256] = {NULL};
@@ -853,10 +854,16 @@ char * output = " ";
#define MIN_COL 10
#define MAX_COL 50
+void SIGINT_handler(int sig){
+ printf("\033[?25h");
+ exit(0);
+}
+
int main(int argc, char ** argv) {
printf("\033[H\033[2J");
fflush(stdout);
int always_escape = 0;
+ signal(SIGINT, SIGINT_handler);
try_again:
printf("Select a mode:\n");
printf(" 1 xterm 256-color compatible mode (best)\n");
@@ -1025,6 +1032,5 @@ try_again:
printf("\033[H");
usleep(90000);
}
-
return 0;
}