X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=snooze.c;h=8bbd93fb366b35437a7fa0aef6cf0610e725074b;hb=c95b0c00842219d98d43a5f859ecbb995e4d438e;hp=ef97098faf4197568e60ba11a87711c50b0b634a;hpb=321dddfc1ff3bf4c56f9160402150a17874f8548;p=user%2Fhenk%2Fcode%2Fsnooze.git diff --git a/snooze.c b/snooze.c index ef97098..8bbd93f 100644 --- a/snooze.c +++ b/snooze.c @@ -140,8 +140,8 @@ parse(char *expr, char *buf, long bufsiz, int offset) } char weekday[8] = {0}; -char dayofmonth[31] = {0}; -char month[12] = {0}; +char dayofmonth[32] = {0}; +char month[13] = {0}; char dayofyear[367] = {0}; char weekofyear[54] = {0}; char hour[24] = {0}; @@ -182,11 +182,14 @@ next_day: tm->tm_mday++; } + tm->tm_isdst = -1; tm->tm_sec = 0; tm->tm_min = 0; tm->tm_hour = 0; t = mktime(tm); + tm->tm_isdst = -1; + if (t > from+(366*24*60*60)) // no result within a year return -1; } @@ -241,6 +244,8 @@ main(int argc, char *argv[]) minute[0] = '*'; second[0] = '*'; + setvbuf(stdout, 0, _IOLBF, 0); + while ((c = getopt(argc, argv, "+D:W:H:M:S:T:R:d:m:ns:t:vw:")) != -1) switch (c) { case 'D': parse(optarg, dayofyear, sizeof dayofyear, -1); break;