--- src/http-analyze.c_orig 2009-04-05 09:31:40.223311080 +0200 +++ src/http-analyze.c 2009-04-05 09:46:50.299958400 +0200 @@ -1724,7 +1724,7 @@ t.start.mday = 1; /* tick back to beginning of month */ } mkdtab(&t.start); - } else if (entry->tm.year > t.start.year || entry->tm.mon > t.start.mon) { + } else if (entry->tm.year > t.start.year || (entry->tm.year == t.start.year && entry->tm.mon > t.start.mon)) { assert(monthly != 0); insertTop(&cday, top_day, topn_day); @@ -1814,8 +1814,9 @@ asec += tvs.tv_usec/TICKS_PMSEC; } #endif - } else if (entry->tm.year < t.start.year || - entry->tm.mon < t.end.mon || entry->tm.mday < t.end.mday) { + } else if (entry->tm.year < t.end.year || + (entry->tm.year == t.end.year && entry->tm.mon < t.end.mon) || + (entry->tm.year == t.end.year && entry->tm.mon == t.end.mon && entry->tm.mday < t.end.mday)) { if (monthly && verbose == 2) (void) fputc('\n', stderr); prmsg(1, GETMSG(119, "Disorder detected, skip entries from"