From: David ‘Bombe’ Roden Date: Mon, 27 Jun 2011 06:23:58 +0000 (+0200) Subject: Exit show-time if terminal width is unknown. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;ds=sidebyside;p=show-time.git Exit show-time if terminal width is unknown. --- diff --git a/show-time.c b/show-time.c index 4e4369f..9f02fc0 100644 --- a/show-time.c +++ b/show-time.c @@ -18,7 +18,7 @@ int getColumns() { if (!error) { return terminalSize.ws_col; } - return 80; + return -1; } int main(int argc, char** argv) { @@ -26,6 +26,7 @@ int main(int argc, char** argv) { struct tm *localTime; time_t currentTime; char buffer[80]; + int terminalWidth; if (fork() != 0) { return 0; @@ -36,7 +37,11 @@ int main(int argc, char** argv) { localTime = localtime(¤tTime); strftime(buffer, 80, "%d.%m.%Y %H:%M:%S", localTime); printf("%c[s", 27); /* save cursor position */ - printf("%c[%d;%dH", 27, 1, (int) (getColumns() - strlen(buffer))); /* set cursor */ + terminalWidth = getColumns(); + if (terminalWidth == -1) { + return 0; + } + printf("%c[%d;%dH", 27, 1, (int) (terminalWidth - strlen(buffer))); /* set cursor */ printf("%s", buffer); printf("%c[u", 27); /* restore cursor position */ fflush(stdout);