X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtout.pm;h=840c4edec4f9b90213b7f970e3e1ff34e96cf663;hb=a931b090e0be3329bcbf7deddb7c17c30fa0e74a;hp=68405f8f4236e4521cf6e320fe0be1bbafc285b4;hpb=98b0984d0ab735a1ae2d96e36728c7e334cf5fd7;p=spider.git diff --git a/perl/DXProtout.pm b/perl/DXProtout.pm index 68405f8f..840c4ede 100644 --- a/perl/DXProtout.pm +++ b/perl/DXProtout.pm @@ -25,9 +25,10 @@ $BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)) $main::build += $VERSION; $main::branch += $BRANCH; -use vars qw($sentencelth); +use vars qw($sentencelth $use_newroute); $sentencelth = 180; +$use_newroute = 1; # # All the PCxx generation routines @@ -123,7 +124,8 @@ sub pc17 # Request init string sub pc18 { - return "PC18^DXSpider Version: $main::version Build: $main::build NewRoute^$DXProt::myprot_version^"; + my $nr = $use_newroute ? ' !NRt' : ''; + return "PC18^DXSpider Version: $main::version Build: $main::build$nr^$DXProt::myprot_version^"; } # @@ -360,19 +362,28 @@ sub pc51 my $hexlasttime = 0; my $hexlastlet = 'A'; +my $hexoverflow = ''; sub hexstamp { my $t = shift || $main::systime; if ($t ne $hexlasttime) { $hexlasttime = $t; + $hexoverflow = ''; $hexlastlet = 'A'; } else { do { $hexlastlet = chr(ord($hexlastlet) + 1); + if ($hexlastlet ge '~') { + $hexlastlet = 'A'; + $hexoverflow ||= '@'; + do { + $hexoverflow = chr(ord($hexoverflow) + 1); + } while ($hexoverflow eq '^'); + } } while ($hexlastlet eq '^'); } - return sprintf "%s%08X", $hexlastlet, $hexlasttime; + return sprintf "%08X%s%s", $hexlasttime, $hexoverflow, $hexlastlet; } sub pc58 @@ -400,7 +411,7 @@ sub pc59 my $ref = $_; my $call = $ref->call; my $here = $ref->here; - $s .= $ref->isa('Route::Node') ? "^N$here$call" : "^U$here$call"; + $s .= '^' . $ref->enc_pc59; } push @out, sprintf "$s^%s^", get_hops(59); return @out;