upissued version no
[spider.git] / perl / DXProt.pm
index ec49fedd3e61069b5921ab3b4e26c37603182b91..35aae2e5ed6a4b6114c7aa7c10eeefca2e57501d 100644 (file)
@@ -38,6 +38,7 @@ sub init
 {
        my $user = DXUser->get($main::mycall);
        $me = DXProt->new($main::mycall, undef, $user); 
+       $me->{here} = 1;
        #  $me->{sort} = 'M';    # M for me
 }
 
@@ -387,13 +388,9 @@ sub normal
                        } elsif ($field[2] == 2) {
                                $user->qth($field[3]);
                        } elsif ($field[2] == 3) {
-                               my ($latd, $latm, $latl, $longd, $longm, $longl) = split /\s+/, $field[3];
-                               $longd += ($longm/60);
-                               $longd = 0-$longd if (uc $longl) eq 'W'; 
-                               $user->long($longd);
-                               $latd += ($latm/60);
-                               $latd = 0-$latd if (uc $latl) eq 'S';
-                               $user->lat($latd);
+                               my ($lat, $long) = DXBearing::stoll($field[3]);
+                               $user->lat($lat);
+                               $user->long($long);
                        } elsif ($field[2] == 4) {
                                $user->homenode($field[3]);
                        }
@@ -606,6 +603,7 @@ sub broadcast_users
        
        foreach $chan (@chan) {
                next if grep $chan == $_, @except;
+               $s =~ s/\a//og if !$chan->{beep};
                $chan->send($s);                # send it if it isn't the except list
        }
 }