FSQ trigger bug

* Fix for trigger decode bug introduced by multiple
    directed station parsing
pull/4/head
David Freese 2015-09-28 13:30:08 -05:00
rodzic 593686ca11
commit c3b610bb59
1 zmienionych plików z 8 dodań i 5 usunięć

Wyświetl plik

@ -455,18 +455,21 @@ void fsq::parse_rx_text()
while (trigger != std::string::npos && tr_pos < rx_text.length()) {
int word_is = valid_callsign(rx_text.substr(0, tr_pos));
if (word_is == 0) break; // not a callsign
if (word_is == 0) {
rx_text.insert(0," ");
break; // not a callsign
}
if (word_is == 1) directed = true; // mycall
// test for cqcqcq and allcall
else if (word_is != 8) all = true;
rx_text.erase(0, tr_pos);
while (rx_text.length() > 2 &&
triggers.find(rx_text[0]) != std::string::npos &&
triggers.find(rx_text[1]) != std::string::npos)
if (rx_text[0] != ' ') break;
while (rx_text.length() > 1 &&
(rx_text[0] == ' ' && rx_text[1] == ' '))
rx_text.erase(0,1);
if (rx_text[0] != ' ') break;
rx_text.erase(0, 1);
tr_pos = 0;
tr = rx_text[tr_pos];