From 2a9c361b7e9d32ca4ffb40b80a714885bc5b64a6 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 29 Aug 2021 16:03:51 -0400 Subject: main: Prevent dates too large to consistently show --- (limited to 'src') diff --git a/src/main.c b/src/main.c index 00e0ef7..4ad711c 100644 --- a/src/main.c +++ b/src/main.c @@ -78,10 +78,15 @@ main(int argc, const char *argv[]) } free(buf); - setvbuf(stdout, NULL, _IONBF, 0); time(&now); + dif = arg - now; + if (dif >= 1000 * 24 * 60 * 60) { + fputs("Date too far in the future\n", stderr); + return EXIT_FAILURE; + } + + setvbuf(stdout, NULL, _IONBF, 0); while (arg > now) { - dif = arg - now; printf("\r%03d:%02d:%02d:%02d", (int) dif / 60 / 60 / 24, (int) dif / 60 / 60 % 24, @@ -89,6 +94,7 @@ main(int argc, const char *argv[]) (int) dif % 60); sleep(1); time(&now); + dif = arg - now; } printf("\r000:00:00:00\n"); -- cgit v0.9.1