diff options
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | src/main.c | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac index 3ff9f79..7c94fbd 100644 --- a/configure.ac +++ b/configure.ac @@ -38,8 +38,9 @@ test -d "${srcdir}/.git" || CFLAGS="${save_CFLAGS}" funcs_missing=false AC_CHECK_FUNCS( [\ - calloc fprintf fputs free isspace localtime mktime printf \ - realloc setvbuf sleep strerror strlen strftime strptime time + calloc difftime fprintf fputs free isspace localtime mktime \ + printf realloc setvbuf sleep strerror strlen strftime strptime \ + time ], [], [funcs_missing=true]) @@ -172,7 +172,7 @@ main(int argc, char * const argv[]) char *buf; time_t arg; time_t now; - time_t dif; + double dif; optind = 1; opterr = 0; @@ -218,14 +218,14 @@ main(int argc, char * const argv[]) free(buf); time(&now); - dif = arg - now; + dif = difftime(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) { + while (dif > 0) { printf("\r%03d:%02d:%02d:%02d", (int) dif / 60 / 60 / 24, (int) dif / 60 / 60 % 24, @@ -233,7 +233,7 @@ main(int argc, char * const argv[]) (int) dif % 60); sleep(1); time(&now); - dif = arg - now; + dif = difftime(arg, now); } printf("\r000:00:00:00\n"); |