]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
Extract the starting date from a parsed log file
authorFrederic Marchal <fmarchal@users.sourceforge.net>
Tue, 17 Nov 2015 18:34:44 +0000 (19:34 +0100)
committerFrederic Marchal <fmarchal@users.sourceforge.net>
Tue, 17 Nov 2015 18:34:44 +0000 (19:34 +0100)
The period covered by a parsed log file is coded in its file name but the
start date was not properly saved resulting in reports allegedly generated
for 1900-1-1.

Thanks to Evgeniy Yakushev for reporting this problem.

util.c

diff --git a/util.c b/util.c
index 3e423b5028dddd647c00fd495ac728787c37dc88..aba23b191b769db4af96cb708361bda67c3d6bdb 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1085,7 +1085,7 @@ void getperiod_merge(struct periodstruct *main,struct periodstruct *candidate)
 
        mdate=(main->start.tm_year)*10000+(main->start.tm_mon)*100+main->start.tm_mday;
        cdate=(candidate->start.tm_year)*10000+(candidate->start.tm_mon)*100+candidate->start.tm_mday;
-       if (cdate<mdate) memcpy(&main->start,&candidate->start,sizeof(struct tm));
+       if (mdate==0 || cdate<mdate) memcpy(&main->start,&candidate->start,sizeof(struct tm));
 
        mdate=(main->end.tm_year)*10000+(main->end.tm_mon)*100+main->end.tm_mday;
        cdate=(candidate->end.tm_year)*10000+(candidate->end.tm_mon)*100+candidate->end.tm_mday;