Relax M17 Callsign validation to match mvoice spec

pull/23/head
Dave Behnke 1 month ago
parent ac77994e00
commit c4248d85e4

@ -139,20 +139,9 @@ bool CCallsign::IsValid(void) const
bool valid = true; bool valid = true;
int i; int i;
// callsign // check callsign characters (Letter, Number, Space, -, ., /)
// first 3 chars are letter or number but cannot be all number // We allow this for all positions to support M17 and numeric IDs
int iNum = 0; for ( i = 0; i < CALLSIGN_LEN; i++ )
for ( i = 0; i < 3; i++ )
{
valid = valid && (IsLetter(m_Callsign.c[i]) || IsNumber(m_Callsign.c[i]));
if ( IsNumber(m_Callsign.c[i]) )
{
iNum++;
}
}
// valid = valid && (iNum < 3); // Allow numeric callsigns (e.g. M17, DMR IDs)
// all remaining char are letter, number or space
for ( ; i < CALLSIGN_LEN; i++)
{ {
valid = valid && (IsLetter(m_Callsign.c[i]) || IsNumber(m_Callsign.c[i]) || IsSpace(m_Callsign.c[i]) || m_Callsign.c[i] == '-' || m_Callsign.c[i] == '.' || m_Callsign.c[i] == '/'); valid = valid && (IsLetter(m_Callsign.c[i]) || IsNumber(m_Callsign.c[i]) || IsSpace(m_Callsign.c[i]) || m_Callsign.c[i] == '-' || m_Callsign.c[i] == '.' || m_Callsign.c[i] == '/');
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.