X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=af1f34f7124a32f29a6729fb97724177d3089f0e;hb=c73656f021da086e9d1b3ca51e048447e8a7fed4;hp=4a43ef086d1b381800960dd47158ce3fe5482a98;hpb=4937d077fd03279aae2cbba6f1252ffdb04cc7a5;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 4a43ef08..af1f34f7 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -82,7 +82,7 @@ $handle_xml = 0; # handle XML sentences @checklist = ( [ qw(i c c m bp bc c) ], # pc10 - [ qw(i f bm d t m c c h) ], # pc11 + [ qw(i f m d t m c c h) ], # pc11 [ qw(i c bm m bm bm p h) ], # pc12 [ qw(i c h) ], # [ qw(i c h) ], # @@ -477,6 +477,13 @@ sub handle_11 # rsfp check # return if $rspfcheck and !$self->rspfcheck(1, $_[7], $_[6]); + + # is the spotted callsign blank? This should really be trapped earlier but it + # could break other protocol sentences. + if ($_[2] =~ /^\s*$/) { + dbg("PCPROT: blank callsign, dropped") if isdbg('chanerr'); + return; + } # if this is a 'nodx' node then ignore it if ($badnode->in($_[7])) { @@ -933,7 +940,7 @@ sub handle_18 $self->user->put; $self->sort('S'); } - $self->{handle_xml}++ if $_[1] =~ /\bxml\b/; + $self->{handle_xml}++ if $main::do_xml && $_[1] =~ /\bxml\b/; } else { $self->version(50.0); $self->version($_[2] / 100) if $_[2] && $_[2] =~ /^\d+$/;