fix pc16 and p19 count
authorminima <minima>
Fri, 4 May 2001 01:37:45 +0000 (01:37 +0000)
committerminima <minima>
Fri, 4 May 2001 01:37:45 +0000 (01:37 +0000)
Changes
perl/DXProtout.pm

diff --git a/Changes b/Changes
index 77493fda2bf38fd0850aafb1c2f0f785f9bf2bc3..8a2cde4a8db064c3292d5c577ed6883e6d1a09d6 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+03May01=======================================================================
+1. It appears that for ages now, not enough PC19 and PC16s are being sent
+if you have more than one of them. Sigh..
 02May01=======================================================================
 1. put an upper limit on the number of concurrent errors allowed in command
 mode (20). This should disconnect runaway spot suckers....
index 6ee4fbcc150272d2465a4d26f3e2e28ea2c68fdf..6894ac7875b6c001a6ff9af56a9338a1a6851c15 100644 (file)
@@ -76,17 +76,17 @@ sub pc16
 {
        my $self = shift;
        my @out;
+       my $i;
 
-       foreach (@_) {
+       for ($i = 0; @_; ) {
                my $str = "PC16^$self->{call}";
-               my $i;
-    
-               for ($i = 0; @_ > 0  && $i < $DXProt::pc16_max_users; $i++) {
+               for ( ; @_ && $i < $DXProt::pc16_max_users; $i++) {
                        my $ref = shift;
                        $str .= sprintf "^%s %s %d", $ref->call, $ref->confmode ? '*' : '-', $ref->here;
                }
                $str .= sprintf "^%s^", get_hops(16);
                push @out, $str;
+               $i = 0;
        }
        return (@out);
 }
@@ -112,12 +112,14 @@ sub pc19
 {
        my $self = shift;
        my @out;
+       my $i;
+       
 
-       while (@_) {
+       for ($i = 0; @_; ) {
                my $str = "PC19";
                my $i;
     
-               for ($i = 0; @_ && $i < $DXProt::pc19_max_nodes; $i++) {
+               for (; @_ && $i < $DXProt::pc19_max_nodes; $i++) {
                        my $ref = shift;
                        my $here = $ref->{here} ? '1' : '0';
                        my $confmode = $ref->{confmode} ? '1' : '0';
@@ -125,6 +127,7 @@ sub pc19
                }
                $str .= sprintf "^%s^", get_hops(19);
                push @out, $str;
+               $i = 0;
        }
        return @out;
 }