1. Sort out PC41 handling to include type 5 records for QRA locators and also
[spider.git] / cmd / forward / opername.pl
index 314a9e37b0b5d54e24fa3f334ba94d98736a3dcb..1daaa1c3291b69cafc2b47cd6f650b787985749e 100644 (file)
@@ -29,11 +29,33 @@ foreach $call (@f) {
                my $lat = $ref->lat;
                my $long = $ref->long;
                my $node = $ref->homenode;
+               my $qra = $ref->qra;
                my $latlong = DXBearing::lltos($lat, $long) if $lat && $long;
-               DXProt::broadcast_all_ak1a(DXProt::pc41($call, 1, $name), $DXProt::me) if $name;
-               DXProt::broadcast_all_ak1a(DXProt::pc41($call, 2, $qth), $DXProt::me) if $qth;
-               DXProt::broadcast_all_ak1a(DXProt::pc41($call, 3, $latlong), $DXProt::me) if $latlong;
-               DXProt::broadcast_all_ak1a(DXProt::pc41($call, 4, $node), $DXProt::me) if $node;
+               if ($name) {
+                       my $l = DXProt::pc41($DXProt::me, $call, 1, $name);
+                       DXProt::eph_dup($l);
+                       DXProt::broadcast_all_ak1a($l, $DXProt::me) ;
+               }
+               if ($qth) {
+                       my $l = DXProt::pc41($call, 2, $qth);
+                       DXProt::eph_dup($l);
+                       DXProt::broadcast_all_ak1a($l, $DXProt::me) ;
+               }
+               if ($latlong) {
+                       my $l = DXProt::pc41($call, 3, $latlong);
+                       DXProt::eph_dup($l);
+                       DXProt::broadcast_all_ak1a($l, $DXProt::me) ;
+               }
+               if ($node) {
+                       my $l = DXProt::pc41($call, 4, $node);
+                       DXProt::eph_dup($l);
+                       DXProt::broadcast_all_ak1a($l, $DXProt::me) ;
+               }
+               if ($qra) {
+                       my $l = DXProt::pc41($call, 5, $qra);
+                       DXProt::eph_dup($l);
+                       DXProt::broadcast_all_ak1a($l, $DXProt::me) ;
+               }
        }
 }