1
0
Fork 0

Check for an empty search query in GPS searches, and fix test code.

This commit is contained in:
jmt 2009-10-27 19:23:56 +00:00 committed by Tim Moore
parent 8ace3a12ba
commit 53b16caec0
2 changed files with 11 additions and 5 deletions

View file

@ -1492,6 +1492,12 @@ void GPS::search()
string sty(_scratchNode->getStringValue("type"));
_searchType = FGPositioned::typeFromName(sty);
_searchQuery = _scratchNode->getStringValue("query");
if (_searchQuery.empty()) {
SG_LOG(SG_INSTR, SG_WARN, "empty GPS search query");
clearScratch();
return;
}
_searchExact = _scratchNode->getBoolValue("exact", true);
_searchOrderByRange = _scratchNode->getBoolValue("order-by-distance", true);
_searchResultIndex = 0;

View file

@ -102,7 +102,7 @@ int main(int argc, char* argv[])
gps->update(0.05);
gps->update(0.05);
scratch->setStringValue("ident", "TL");
scratch->setStringValue("query", "TL");
scratch->setStringValue("type", "Vor");
scratch->setBoolValue("exact", false);
nd->setStringValue("command", "search");
@ -118,7 +118,7 @@ int main(int argc, char* argv[])
nd->setDoubleValue("config/min-runway-length-ft", 5000.0);
scratch->setBoolValue("exact", false);
scratch->setBoolValue("order-by-distance", false);
scratch->setStringValue("ident", "KS");
scratch->setStringValue("query", "KS");
scratch->setStringValue("type", "apt");
nd->setStringValue("command", "search");
@ -134,7 +134,7 @@ int main(int argc, char* argv[])
scratch->setBoolValue("exact", true);
scratch->setBoolValue("order-by-distance", true);
scratch->setStringValue("type", "vor");
scratch->setStringValue("ident", "DCS");
scratch->setStringValue("query", "DCS");
nd->setStringValue("command", "search");
printScratch(scratch);
@ -145,7 +145,7 @@ int main(int argc, char* argv[])
// search on totally missing
scratch->setBoolValue("exact", true);
scratch->setBoolValue("order-by-distance", true);
scratch->setStringValue("ident", "FOFOFOFOF");
scratch->setStringValue("query", "FOFOFOFOF");
nd->setStringValue("command", "search");
printScratch(scratch);
@ -168,7 +168,7 @@ int main(int argc, char* argv[])
<< " " << wp1->getDoubleValue("latitude-deg"));
// OBS mode
scratch->setStringValue("ident", "UW");
scratch->setStringValue("query", "UW");
scratch->setBoolValue("order-by-distance", true);
nd->setStringValue("command", "search");
printScratch(scratch);