From 4ed5559fd3d8ac4c812e166172f8b939977067b6 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Sat, 2 Jan 2016 21:24:25 +0100 Subject: fix -n with rare events --- snooze.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/snooze.c b/snooze.c index 22be6be..2f4a6ec 100644 --- a/snooze.c +++ b/snooze.c @@ -319,19 +319,22 @@ int main(int argc, char *argv[]) /* dry-run, just output the next 5 dates. */ int i; for (i = 0; i < 5; i++) { - if (t > 0) { - char weekstr[4]; - struct tm *tm = localtime(&t); - strftime(weekstr, sizeof weekstr, "%a", tm); - printf("%s %s %2ldd%3ldh%3ldm%3lds\n", - isotime(tm), - weekstr, - ((t - now) / (60*60*24)), - ((t - now) / (60*60)) % 24, - ((t - now) / 60) % 60, - (t - now) % 60); - } + char weekstr[4]; + struct tm *tm = localtime(&t); + strftime(weekstr, sizeof weekstr, "%a", tm); + printf("%s %s %2ldd%3ldh%3ldm%3lds\n", + isotime(tm), + weekstr, + ((t - now) / (60*60*24)), + ((t - now) / (60*60)) % 24, + ((t - now) / 60) % 60, + (t - now) % 60); t = find_next(t + 1); + if (t < 0) { + fprintf(stderr, + "no satisfying date found within a year.\n"); + exit(2); + } } exit(0); } -- cgit v1.2.3