projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add CTY-2413 prefixes
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index e0db5fa7c8a11cf92a98fd1e9b5bf532269861de..7064dc7f84736a7e8bd1f51880dd0846b06d0b57 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-174,6
+174,8
@@
$pc92_find_timeout = 30; # maximum time to wait for a reply
sub check
{
my $n = shift;
sub check
{
my $n = shift;
+ my $pc = shift;
+
$n -= 10;
return 0 if $n < 0 || $n > @checklist;
my $ref = $checklist[$n];
$n -= 10;
return 0 if $n < 0 || $n > @checklist;
my $ref = $checklist[$n];
@@
-183,30
+185,30
@@
sub check
for ($i = 1; $i < @$ref; $i++) {
my ($blank, $act) = $$ref[$i] =~ /^(b?)(\w)$/;
return 0 unless $act;
for ($i = 1; $i < @$ref; $i++) {
my ($blank, $act) = $$ref[$i] =~ /^(b?)(\w)$/;
return 0 unless $act;
- next if $blank eq 'b' && $
_
[$i] =~ /^[ \*]$/;
- next if $blank eq '*' && $
_
[$i] =~ /^\*$/;
+ next if $blank eq 'b' && $
pc->
[$i] =~ /^[ \*]$/;
+ next if $blank eq '*' && $
pc->
[$i] =~ /^\*$/;
if ($act eq 'c') {
if ($act eq 'c') {
- return $i unless is_callsign($
_
[$i]);
+ return $i unless is_callsign($
pc->
[$i]);
} elsif ($act eq 'i') {
; # do nothing
} elsif ($act eq 'm') {
} elsif ($act eq 'i') {
; # do nothing
} elsif ($act eq 'm') {
- return $i unless is_pctext($
_
[$i]);
+ return $i unless is_pctext($
pc->
[$i]);
} elsif ($act eq 'p') {
} elsif ($act eq 'p') {
- return $i unless is_pcflag($
_
[$i]);
+ return $i unless is_pcflag($
pc->
[$i]);
} elsif ($act eq 'f') {
} elsif ($act eq 'f') {
- return $i unless is_freq($
_
[$i]);
+ return $i unless is_freq($
pc->
[$i]);
} elsif ($act eq 'n') {
} elsif ($act eq 'n') {
- return $i unless $
_
[$i] =~ /^[\d ]+$/;
+ return $i unless $
pc->
[$i] =~ /^[\d ]+$/;
} elsif ($act eq 'h') {
} elsif ($act eq 'h') {
- return $i unless $
_
[$i] =~ /^H\d\d?$/;
+ return $i unless $
pc->
[$i] =~ /^H\d\d?$/;
} elsif ($act eq 'd') {
} elsif ($act eq 'd') {
- return $i unless $
_
[$i] =~ /^\s*\d+-\w\w\w-[12][90]\d\d$/;
+ return $i unless $
pc->
[$i] =~ /^\s*\d+-\w\w\w-[12][90]\d\d$/;
} elsif ($act eq 't') {
} elsif ($act eq 't') {
- return $i unless $
_
[$i] =~ /^[012]\d[012345]\dZ$/;
+ return $i unless $
pc->
[$i] =~ /^[012]\d[012345]\dZ$/;
} elsif ($act eq 'l') {
} elsif ($act eq 'l') {
- return $i unless $
_
[$i] =~ /^[A-Z]$/;
+ return $i unless $
pc->
[$i] =~ /^[A-Z]$/;
} elsif ($act eq 'a') {
} elsif ($act eq 'a') {
- return $i unless is_ipaddr($
_
[$i]);
+ return $i unless is_ipaddr($
pc->
[$i]);
}
}
return 0;
}
}
return 0;
@@
-246,7
+248,7
@@
sub init
$main::me->{pingave} = 0;
$main::me->{registered} = 1;
$main::me->{version} = $main::version;
$main::me->{pingave} = 0;
$main::me->{registered} = 1;
$main::me->{version} = $main::version;
- $main::me->{build} =
"$main::subversion.$main::build"
;
+ $main::me->{build} =
$main::build
;
$main::me->{do_pc9x} = 1;
$main::me->update_pc92_next($pc92_short_update_period);
$main::me->update_pc92_keepalive;
$main::me->{do_pc9x} = 1;
$main::me->update_pc92_next($pc92_short_update_period);
$main::me->update_pc92_keepalive;
@@
-401,7
+403,7
@@
sub normal
}
# check for and dump bad protocol messages
}
# check for and dump bad protocol messages
- my $n = check($pcno, @field);
+ my $n = check($pcno,
\
@field);
if ($n) {
dbg("PCPROT: bad field $n, dumped (" . parray($checklist[$pcno-10]) . ")") if isdbg('chanerr');
return;
if ($n) {
dbg("PCPROT: bad field $n, dumped (" . parray($checklist[$pcno-10]) . ")") if isdbg('chanerr');
return;
@@
-430,9
+432,9
@@
sub normal
my $sub = "handle_$pcno";
if ($self->can($sub)) {
my $sub = "handle_$pcno";
if ($self->can($sub)) {
- $self->$sub($pcno, $line, $origin, @field);
+ $self->$sub($pcno, $line, $origin,
\
@field);
} else {
} else {
- $self->handle_default($pcno, $line, $origin, @field);
+ $self->handle_default($pcno, $line, $origin,
\
@field);
}
}
}
}
@@
-955,7
+957,8
@@
sub broadcast_pc92_update
my $nref = Route::Node::get($call);
unless ($nref) {
my $nref = Route::Node::get($call);
unless ($nref) {
- dbg("ERROR: broadcast_pc92_update - Route::Node $call disappeared");
+ cluck("ERROR: broadcast_pc92_update - Route::Node $call disappeared");
+ $self->update_pc92_next;
return;
}
my $l = $nref->last_PC92C(gen_my_pc92_config($nref));
return;
}
my $l = $nref->last_PC92C(gen_my_pc92_config($nref));
@@
-973,7
+976,8
@@
sub broadcast_pc92_keepalive
my $nref = Route::Node::get($call);
unless ($nref) {
my $nref = Route::Node::get($call);
unless ($nref) {
- dbg("ERROR: broadcast_pc92_keepalive - Route::Node $call disappeared");
+ cluck("ERROR: broadcast_pc92_keepalive - Route::Node $call disappeared");
+ $self->update_pc92_keepalive;
return;
}
my $l = pc92k($nref);
return;
}
my $l = pc92k($nref);
@@
-1111,13
+1115,13
@@
sub process_rcmd
my ($self, $tonode, $fromnode, $user, $cmd) = @_;
if ($tonode eq $main::mycall) {
my $ref = DXUser::get_current($fromnode);
my ($self, $tonode, $fromnode, $user, $cmd) = @_;
if ($tonode eq $main::mycall) {
my $ref = DXUser::get_current($fromnode);
- unless ($ref && UNIVERSAL($ref, 'DXUser')) {
+ unless ($ref && UNIVERSAL
::isa
($ref, 'DXUser')) {
dbg("DXProt process_rcmd: user $fromnode isn't a reference (check user_asc and tell G1TLH)");
$self->send_rcmd_reply($main::mycall, $fromnode, $user, "sorry...!");
return;
}
my $cref = Route::Node::get($fromnode);
dbg("DXProt process_rcmd: user $fromnode isn't a reference (check user_asc and tell G1TLH)");
$self->send_rcmd_reply($main::mycall, $fromnode, $user, "sorry...!");
return;
}
my $cref = Route::Node::get($fromnode);
- unless ($cref && UNIVERSAL($cref, 'Route')) {
+ unless ($cref && UNIVERSAL
::isa
($cref, 'Route')) {
dbg("DXProt process_rcmd: Route $fromnode isn't a reference (tell G1TLH)");
$self->send_rcmd_reply($main::mycall, $fromnode, $user, "sorry...!");
return;
dbg("DXProt process_rcmd: Route $fromnode isn't a reference (tell G1TLH)");
$self->send_rcmd_reply($main::mycall, $fromnode, $user, "sorry...!");
return;