summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c10
1 files changed, 8 insertions, 2 deletions
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");