$is_win = ($^O =~ /^MS/ || $^O =~ /^OS-2/) ? 1 : 0; # is it Windows?
}
-$clusteraddr = '127.0.0.1';
-$clusterport = 27754;
use Mojo::IOLoop;
# initialisation
#
+$clusteraddr //= '127.0.0.1';
+$clusterport //= 27754;
+
$call = ""; # the callsign being used
$node = ""; # the node callsign being used
$conn = 0; # the connection object for the cluster
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);
}
$call = uc $myalias unless $call;
$node = uc $mycall unless $node;
+$call = normalise_call($call);
my ($scall, $ssid) = split /-/, $call;
$ssid = undef unless $ssid && $ssid =~ /^\d+$/;
if ($ssid) {
- $ssid = 15 if $ssid > 15;
+ $ssid = 99 if $ssid > 99;
$call = "$scall-$ssid";
}