X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProtout.pm;h=b31eacdfe111942ded8607bc9759d85e1179a56c;hb=f47bc72134852f42fe03ab6afe91a9ba1b0ff705;hp=6917b88b8501b384d34fa958464911e4f54aa975;hpb=cd0c19a8aeee5313a8963841cb85daa84eb1aa88;p=spider.git diff --git a/perl/DXProtout.pm b/perl/DXProtout.pm index 6917b88b..b31eacdf 100644 --- a/perl/DXProtout.pm +++ b/perl/DXProtout.pm @@ -66,14 +66,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; + $origin ||= $main::mycall; + $sysop ||= ' '; + $text ||= ' '; + $wx ||= '0'; + $tonode ||= '*'; $text =~ s/\^/%5E/g; - return "PC12^$call^$tonode^$text^$sysop^$main::mycall^$wx^$hops^~"; + return "PC12^$call^$tonode^$text^$sysop^$origin^$wx^$hops^~"; } # @@ -94,13 +95,13 @@ sub pc16 next unless $_; my $ref = $_; my $str = sprintf "^%s %s %d", $ref->call, $ref->conf ? '*' : '-', $ref->here; - if (length($s) + length($str) >= $sentencelth) { + if (length($s) + length($str) > $sentencelth) { push @out, "PC16^$ncall" . $s . sprintf "^%s^", get_hops(16); $s = ""; } $s .= $str; } - push @out, "PC16^$ncall" . $s . sprintf "^%s^", get_hops(16) if length $s; + push @out, "PC16^$ncall" . $s . sprintf "^%s^", get_hops(16); return @out; } @@ -142,13 +143,13 @@ sub pc19 my $conf = $ref->conf; my $version = $ref->version; my $str = "^$here^$call^$conf^$version"; - if (length($s) + length($str) >= $sentencelth) { + if (length($s) + length($str) > $sentencelth) { push @out, "PC19" . $s . sprintf "^%s^", get_hops(19); $s = ""; } $s .= $str; } - push @out, "PC19" . $s . sprintf "^%s^", get_hops(19) if length $s; + push @out, "PC19" . $s . sprintf "^%s^", get_hops(19); return @out; }