From d15b6446e34d66817ce1ae89e63c45f547402b04 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 28 Jun 2017 00:17:53 +0200 Subject: [PATCH] Ref T26, another callsign to airline resolution --- src/blackmisc/aviation/callsign.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/blackmisc/aviation/callsign.cpp b/src/blackmisc/aviation/callsign.cpp index 563c34c91..fe8afc0da 100644 --- a/src/blackmisc/aviation/callsign.cpp +++ b/src/blackmisc/aviation/callsign.cpp @@ -129,8 +129,15 @@ namespace BlackMisc QRegularExpressionMatch match = regExp.match(this->m_callsign); if (!match.hasMatch()) { return QString(); } const QString airline = match.captured(0); + + // hard facts if (airline.length() == 3) { return airline; } // we allow 3 letters if (airline.length() == 4 && airline.startsWith('V')) { return airline; } // we allow virtual 4 letter codes, e.g. VDLD + + // some people use callsigns like UPSE123 + const QString number = match.captured(1); + if (number.length() >= 3 && airline.length() == 4) { return airline.left(3); } + return ""; // invalid }