]> git.mxchange.org Git - flightgear.git/commitdiff
Fix for airport search on some platforms.
authorJames Turner <zakalawe@mac.com>
Thu, 29 May 2014 08:42:21 +0000 (09:42 +0100)
committerJames Turner <zakalawe@mac.com>
Thu, 29 May 2014 08:42:21 +0000 (09:42 +0100)
Ensure the std::string passed to sqlite lives for the duration
of the query.

src/Navaids/NavDataCache.cxx

index f34294e11abc5f20b25da76afabf6604696bffee..4c5a030babacded1214a3320806c2e8a16fdf08c 100644 (file)
@@ -1750,13 +1750,13 @@ char** NavDataCache::searchAirportNamesAndIdents(const std::string& aFilter)
 {
   sqlite3_stmt_ptr stmt;
   unsigned int numMatches = 0, numAllocated = 16;
+  string searchTerm("%" + aFilter + "%");
   if (aFilter.empty()) {
     stmt = d->getAllAirports;
     numAllocated = 4096; // start much larger for all airports
   } else {
     stmt = d->searchAirports;
-    string s = "%" + aFilter + "%";
-    sqlite_bind_stdstring(stmt, 1, s);
+    sqlite_bind_stdstring(stmt, 1, searchTerm);
   }
   
   char** result = (char**) malloc(sizeof(char*) * numAllocated);