From: Darold Gilles Date: Wed, 23 Jul 2014 15:11:06 +0000 (+0200) Subject: Fix missing initial move to offset in incremental mode before the file change test... X-Git-Tag: v6.0~22 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=be879262d3ba37b59f8ece107271c2bc547074fa;p=pgbadger Fix missing initial move to offset in incremental mode before the file change test. Thanks to Herve Werner for the report. --- diff --git a/pgbadger b/pgbadger index 70ad81d..b83ae0c 100755 --- a/pgbadger +++ b/pgbadger @@ -1046,7 +1046,7 @@ my $td = timediff($t1, $t0); # Global output filehandle my $fh = undef; -if (!$incremental) { +if (!$incremental && ($#given_log_files >= 0) ) { &logmsg('LOG', "Ok, generating $extension report..."); @@ -2162,8 +2162,12 @@ sub check_file_changed my $CURRENT_DATE = $gyear . sprintf("%02d", $gmon + 1) . sprintf("%02d", $gmday); %prefix_vars = (); + $lfile->seek($saved_last_line{current_pos} || 0, 0); + my $more_lines = 0; while (my $line = <$lfile>) { + $more_lines++; + if ($format =~ /syslog/) { my @matches = ($line =~ $compiled_prefix); @@ -2218,6 +2222,11 @@ sub check_file_changed } close($lfile); + if (!$more_lines) { + close($lfile); + return 0; + } + return 1; }