From 5cc51e5021c5f12eaa9e3b918bb1b025d6dc27b6 Mon Sep 17 00:00:00 2001 From: Peetz0r Date: Mon, 5 Dec 2011 19:37:50 +0100 Subject: Actually limit the terminal width in the right place --- src/nyancat.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/nyancat.c b/src/nyancat.c index cb71217..70348e2 100644 --- a/src/nyancat.c +++ b/src/nyancat.c @@ -121,7 +121,7 @@ int digits(int val) { * (^C) so that we can restore the cursor. */ void SIGINT_handler(int sig){ - printf("\033[?25h\033[0m"); + printf("\\033[?25h\033[0m"); exit(0); } @@ -366,18 +366,19 @@ int main(int argc, char ** argv) { char * nterm = getenv("TERM"); strcpy(term, nterm); - /* Also get the number of columns, but not above 80 */ + /* Also get the number of columns */ struct winsize w; ioctl(0, TIOCGWINSZ, &w); terminal_width = w.ws_col; - - if(terminal_width > 80) terminal_width = 80; } /* Convert the entire terminal string to lower case */ for (k = 0; k < strlen(term); ++k) { term[k] = tolower(term[k]); } + + /* We don't want terminals wider than 80 columns */ + if(terminal_width > 80) terminal_width = 80; /* Do our terminal detection */ if (strstr(term, "xterm")) { -- cgit v1.2.3