From: jmt Date: Tue, 27 Oct 2009 19:23:56 +0000 (+0000) Subject: Check for an empty search query in GPS searches, and fix test code. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=53b16caec0185e6c46d664e625c93950d32754e4;p=flightgear.git Check for an empty search query in GPS searches, and fix test code. --- diff --git a/src/Instrumentation/gps.cxx b/src/Instrumentation/gps.cxx index 1ef7dfcd1..4477dd4ed 100644 --- a/src/Instrumentation/gps.cxx +++ b/src/Instrumentation/gps.cxx @@ -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; diff --git a/src/Instrumentation/testgps.cxx b/src/Instrumentation/testgps.cxx index 23e491b17..64060041c 100644 --- a/src/Instrumentation/testgps.cxx +++ b/src/Instrumentation/testgps.cxx @@ -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);