X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtout.pm;h=04eefe39b1e1d9d0446b757de619d8b6e4eba1bd;hb=97917206e050a6584f89e53d63481eeea66ff43c;hp=180ce526ef17357c67d474bc45c34b9994e0b368;hpb=22df46c61d3f1ae4115224bcc230ffe7ed6aff99;p=spider.git diff --git a/perl/DXProtout.pm b/perl/DXProtout.pm index 180ce526..04eefe39 100644 --- a/perl/DXProtout.pm +++ b/perl/DXProtout.pm @@ -20,10 +20,8 @@ use DXDebug; use strict; use vars qw($VERSION $BRANCH); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); -$main::build += $VERSION; -$main::branch += $BRANCH; + +main::mkver($VERSION = q$Revision$); use vars qw($sentencelth); @@ -66,14 +64,15 @@ sub pc11 # create an announce message sub pc12 { - my ($call, $text, $tonode, $sysop, $wx) = @_; + my ($call, $text, $tonode, $sysop, $wx, $origin) = @_; my $hops = get_hops(12); - $sysop = ' ' if !$sysop; - $text = ' ' if !$text; - $wx = '0' if !$wx; - $tonode = '*' if !$tonode; + $text ||= ' '; $text =~ s/\^/%5E/g; - return "PC12^$call^$tonode^$text^$sysop^$main::mycall^$wx^$hops^~"; + $tonode ||= '*'; + $sysop ||= ' '; + $wx ||= '0'; + $origin ||= $main::mycall; + return "PC12^$call^$tonode^$text^$sysop^$origin^$wx^$hops^~"; } # @@ -108,8 +107,8 @@ sub pc16 sub pc17 { my @out; + my $node = shift; while (@_) { - my $node = shift; my $ref = shift; my $hops = get_hops(17); my $ncall = $node->call; @@ -122,7 +121,8 @@ sub pc17 # Request init string sub pc18 { - return "PC18^DXSpider Version: $main::version Build: $main::build^$DXProt::myprot_version^"; + my $v = $DXProt::myprot_version + int($main::version * 100); + return "PC18^DXSpider Version: $main::version Build: $main::build^$v^"; } # @@ -140,7 +140,10 @@ sub pc19 my $call = $ref->call; my $here = $ref->here; my $conf = $ref->conf; - my $version = $ref->version; + my $version = $ref->version || 5401; + $version = 5300 + int($version*100) if $version < 2; + $version = 5252 + int($version*100) if $version < 3; + $version =~ s/\.\d+$//; # kludge my $str = "^$here^$call^$conf^$version"; if (length($s) + length($str) > $sentencelth) { push @out, "PC19" . $s . sprintf "^%s^", get_hops(19);