if (!error) {
return terminalSize.ws_col;
}
- return 80;
+ return -1;
}
int main(int argc, char** argv) {
struct tm *localTime;
time_t currentTime;
char buffer[80];
+ int terminalWidth;
if (fork() != 0) {
return 0;
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);