put more rigorous callsign checking in
authorminima <minima>
Sun, 9 Sep 2001 17:00:49 +0000 (17:00 +0000)
committerminima <minima>
Sun, 9 Sep 2001 17:00:49 +0000 (17:00 +0000)
cmd/dx.pl
perl/Messages

index 6e14cda5caa4d36038326085fb39b1fbd3f2e297..85dc4cf91f47aba2df092596b78eca31b2d218f5 100644 (file)
--- a/cmd/dx.pl
+++ b/cmd/dx.pl
@@ -33,14 +33,14 @@ if ($f[0] =~ /^by$/i) {
 }
 
 # get the freq and callsign either way round
-if (is_freq($f[1])) {
+if (is_freq($f[1]) && $f[0] =~ m{^[\w\d]+(?:/[\w\d]+){0,2}$}) {
        $spotted = uc $f[0];
        $freq = $f[1];
-} elsif (is_freq($f[0])) {
+} elsif (is_freq($f[0]) && $f[1] =~ m{^[\w\d]+(?:/[\w\d]+){0,2}$}) {
     $freq = $f[0];
        $spotted = uc $f[1];
 } else {
-       return (1, $self->msg('dx2'));
+       return (1, $self->msg('dx3'));
 }
 
 # make line the rest of the line
index d91335174b0d896b87fa0b34259fcac940282172..c6c5d8a6edaf0fff6c63292a74f0d68fb9eb9330 100644 (file)
@@ -48,6 +48,7 @@ package DXM;
                                dup => 'Sorry, this is a duplicate',
                                dx1 => 'Frequency $_[0] not in band (see show/band); usage: DX [BY call] freq call comments',
                                dx2 => 'Need a callsign; usage: DX [BY call] freq call comments',
+                               dx3 => 'The callsign or frequency is invalid',
                                dxs => 'DX Spots flag set on $_[0]',
                                dxu => 'DX Spots flag unset on $_[0]',
                                e1 => 'Invalid command',