X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FDXProtHandle.pm;h=f0dd2760765f3fc6dc0e0a734d935681cd57504e;hb=5f157325d2246e684a8e41ab47bd02638b3bed8d;hp=422b1714af791c5aba6b9cec73cc9cc6fc490c20;hpb=fcbc2ac5d56382dc3b5652c21fd3d637fd47a263;p=spider.git diff --git a/perl/DXProtHandle.pm b/perl/DXProtHandle.pm index 422b1714..f0dd2760 100644 --- a/perl/DXProtHandle.pm +++ b/perl/DXProtHandle.pm @@ -605,9 +605,9 @@ sub handle_18 $self->user->put; $self->sort('S'); } - $self->{handle_xml}++ if DXXml::available() && $_[1] =~ /\bxml\b/; - my ($pc9x) = $_[1] =~ /\bpc9\[(\d+)\]\b/; - $self->{do_pc92}++ if (defined $pc9x && $pc9x =~ /2/) || $_[1] =~ /\bpc92\b/; + $self->{handle_xml}++ if DXXml::available() && $_[1] =~ /\bxml/; + my ($pc9x) = $_[1] =~ /\bpc9\[(\d+)\]/; + $self->{do_pc92}++ if defined $pc9x && $pc9x =~ /2/; } else { $self->version(50.0); $self->version($_[2] / 100) if $_[2] && $_[2] =~ /^\d+$/; @@ -1458,6 +1458,8 @@ sub handle_92 $parent->do_pc92(1); $parent->via_pc92(1); $parent->reset_obs; + dbg("ROUTE: reset obscount on $pcall now " . $parent->obscount) if isdbg('route'); + if (@ent) { @@ -1481,7 +1483,10 @@ sub handle_92 dbg("PCPROT: no previous C or A for this external node received, ignored") if isdbg('chanerr'); return; } - my $parent = check_pc9x_t($call, $t, 92) || return; + $parent = check_pc9x_t($call, $t, 92) || return; + $parent->via_pc92(1); + $parent->reset_obs; + dbg("ROUTE: reset obscount on $pcall now " . $parent->obscount) if isdbg('route'); } } else { dbg("PCPROT: must be mycall or external node as first entry, ignored") if isdbg('chanerr'); @@ -1490,8 +1495,6 @@ sub handle_92 $parent->here(Route::here($here)); $parent->version($version) if $version && $version > $parent->version; $parent->build($build) if $build && $build > $parent->build; - $parent->via_pc92(1); - $parent->reset_obs; shift @ent; }