my $pagelth = $user->pagelth;
$pagelth = $default_pagelth unless defined $pagelth;
$self->{pagelth} = $pagelth;
- ($self->{width}) = $line =~ /width=(\d+)/; $line =~ s/\s*width=\d+\s*//;
- $self->{enhanced} = $line =~ /\benhanced\b/; $line =~ s/\s*enhanced\s*//;
+ ($self->{width}) = $line =~ /\s*width=(\d+)/; $line =~ s/\s*width=\d+//;
+ $self->{enhanced} = $line =~ /\s+enhanced/; $line =~ s/\s*enhanced//;
if ($line =~ /host=/) {
my ($h) = $line =~ /host=(\d+\.\d+\.\d+\.\d+)/;
$line =~ s/\s*host=\d+\.\d+\.\d+\.\d+// if $h;
$self->{width} = 80 unless $self->{width} && $self->{width} > 80;
$self->{consort} = $line; # save the connection type
- LogDbg('DXCommand', "$call connected from $self->{hostname} cols $self->width" . $self->{enhanced}?"enhanced":'');
+ LogDbg('DXCommand', "$call connected from $self->{hostname} cols $self->{width}" . ($self->{enhanced}?" enhanced":''));
# set some necessary flags on the user if they are connecting
$self->{beep} = $user->wantbeep;
sub addtotop
{
my $sort = shift;
-
while (@_) {
my $inbuf = shift;
my $l = length $inbuf;
- dbg("addtotop: $sort $l $inbuf") if isdbg('console');
- if ($l > $cols && grep $sort eq $_, qw(T A C)) {
+ if ($l > $cols) {
$inbuf =~ s/\s+/ /g;
if (length $inbuf > $cols) {
$Text::Wrap::columns = $cols;
- push @sh, split /\n/, wrap('',' ' x 19, $inbuf);
+ my $token;
+ ($token) = $inbuf =~ m!^(.* de [-\w\d/\#]+:?\s+|\w{9}\@\d\d:\d\d:\d\d )!;
+ $token ||= ' ' x 19;
+ push @sh, split /\n/, wrap('', ' ' x length($token), $inbuf);
} else {
push @sh, $inbuf;
}
push @sh, $inbuf;
}
}
+
show_screen() unless $inscroll;
}
cease(1);
}
if (defined $msg) {
- dbg("msg: " . length($msg) . " '$msg'") if isdbg('console');
my ($sort, $incall, $line) = $msg =~ /^(\w)([^\|]+)\|(.*)$/;
+ dbg("msg: " . length($msg) . " '$msg'") if isdbg('console');
if ($line =~ s/\x07+$//) {
beep();
}
$call = $incall if $call ne $incall;
$line =~ s/[\x00-\x06\x08\x0a-\x19\x1b-\x1f\x80-\x9f]/./g; # immutable CSI sequence + control characters
- if ($sort && $sort eq 'D') {
+ if ($sort && $sort eq 'Z') { # end, disconnect, go, away .....
+ cease(0);
+ } else {
$line = " " unless length($line);
addtotop($sort, $line);
- } elsif ($sort && $sort eq 'Z') { # end, disconnect, go, away .....
- cease(0);
- }
- # ******************************************************
- # ******************************************************
- # any other sorts that might happen are silently ignored.
- # ******************************************************
- # ******************************************************
+ }
+
} else {
cease(0);
}