projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
adjust accept debugging a tad
[spider.git]
/
perl
/
DXLogPrint.pm
diff --git
a/perl/DXLogPrint.pm
b/perl/DXLogPrint.pm
index a968e53b1f818d18c9cb467faa1e6b6a98757e57..ded2f6186a783e27eb865a1eb02d1309efa2c308 100644
(file)
--- a/
perl/DXLogPrint.pm
+++ b/
perl/DXLogPrint.pm
@@
-3,7
+3,7
@@
#
# Copyright (c) - 1998 Dirk Koopman G1TLH
#
#
# Copyright (c) - 1998 Dirk Koopman G1TLH
#
-#
$Id$
+#
#
package DXLog;
#
package DXLog;
@@
-18,11
+18,8
@@
use RingBuf;
use strict;
use strict;
-use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
+use vars qw($maxmonths);
+$maxmonths = 36;
#
# print some items from the log backwards in time
#
# print some items from the log backwards in time
@@
-36,7
+33,7
@@
sub print
my $to = shift || 10;
my $jdate = $fcb->unixtoj(shift);
my $pattern = shift;
my $to = shift || 10;
my $jdate = $fcb->unixtoj(shift);
my $pattern = shift;
- my $who =
uc
shift;
+ my $who = shift;
my $search;
my @in;
my @out = ();
my $search;
my @in;
my @out = ();
@@
-44,6
+41,8
@@
sub print
my $tot = $from + $to;
my $hint = "";
my $tot = $from + $to;
my $hint = "";
+ $who = uc $who if defined $who;
+
if ($pattern) {
$hint = "m{\\Q$pattern\\E}i";
} else {
if ($pattern) {
$hint = "m{\\Q$pattern\\E}i";
} else {
@@
-70,8
+69,9
@@
sub print
$fcb->close; # close any open files
$fcb->close; # close any open files
+ my $months;
my $fh = $fcb->open($jdate);
my $fh = $fcb->open($jdate);
- L1: for (
;@in < $to;
) {
+ L1: for (
$months = 0; $months < $maxmonths && @in < $tot; $months++
) {
my $ref;
my $ring = RingBuf->new($tot);
my $ref;
my $ring = RingBuf->new($tot);
@@
-81,12
+81,15
@@
sub print
return ("Log search error", $@) if $@;
@in = ($ring->readall, @in);
return ("Log search error", $@) if $@;
@in = ($ring->readall, @in);
- last L1 if @in > $tot;
+ last L1 if @in >
=
$tot;
}
$fh = $fcb->openprev(); # get the next file
last if !$fh;
}
}
$fh = $fcb->openprev(); # get the next file
last if !$fh;
}
+
+ @in = splice @in, -$tot, $tot if @in > $tot;
+
for (@in) {
my @line = split /\^/ ;
push @out, print_item(\@line);
for (@in) {
my @line = split /\^/ ;
push @out, print_item(\@line);
@@
-113,12
+116,13
@@
sub print_item
my $s = 'undef';
if ($r->[1] eq 'rcmd') {
my $s = 'undef';
if ($r->[1] eq 'rcmd') {
+ $r->[6] ||= 'Unknown';
if ($r->[2] eq 'in') {
$r->[5] ||= "";
if ($r->[2] eq 'in') {
$r->[5] ||= "";
- $s = "
$r->[4] (
priv: $r->[3]) rcmd: $r->[5]";
+ $s = "
in: $r->[4] ($r->[6]
priv: $r->[3]) rcmd: $r->[5]";
} else {
$r->[4] ||= "";
} else {
$r->[4] ||= "";
- $s = "$r->[3] reply: $r->[4]";
+ $s = "$r->[3]
$r->[6]
reply: $r->[4]";
}
} elsif ($r->[1] eq 'talk') {
$r->[5] ||= "";
}
} elsif ($r->[1] eq 'talk') {
$r->[5] ||= "";