From dbc63738d8b497c03bfb81c84e61161bb5c7931a Mon Sep 17 00:00:00 2001 From: minima Date: Sun, 9 Sep 2001 17:00:49 +0000 Subject: [PATCH] put more rigorous callsign checking in --- cmd/dx.pl | 6 +++--- perl/Messages | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/dx.pl b/cmd/dx.pl index 6e14cda5..85dc4cf9 100644 --- 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 diff --git a/perl/Messages b/perl/Messages index d9133517..c6c5d8a6 100644 --- a/perl/Messages +++ b/perl/Messages @@ -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', -- 2.34.1