From bc035cff6ac5eaf52d987f14121f34be7a0d235c Mon Sep 17 00:00:00 2001 From: Mark Thompson <129641948+NotherNgineer@users.noreply.github.com> Date: Mon, 5 Feb 2024 13:13:06 -0600 Subject: [PATCH] ADSB retrieve_record just-in-case check (#1848) --- firmware/application/apps/ui_adsb_rx.cpp | 4 ++++ firmware/application/database.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/firmware/application/apps/ui_adsb_rx.cpp b/firmware/application/apps/ui_adsb_rx.cpp index c8888e58b..f53df5e97 100644 --- a/firmware/application/apps/ui_adsb_rx.cpp +++ b/firmware/application/apps/ui_adsb_rx.cpp @@ -199,6 +199,10 @@ ADSBRxAircraftDetailsView::ADSBRxAircraftDetailsView( } break; + case DATABASE_RECORD_NOT_FOUND: + // Defaults should be filled by the constructor + break; + case DATABASE_NOT_FOUND: text_manufacturer.set("No icao24.db file"); break; diff --git a/firmware/application/database.cpp b/firmware/application/database.cpp index 5c192e90c..f5d164191 100644 --- a/firmware/application/database.cpp +++ b/firmware/application/database.cpp @@ -56,6 +56,9 @@ int database::retrieve_aircraft_record(AircraftDBRecord* record, std::string sea } int database::retrieve_record(std::string file_path, int index_item_length, int record_length, void* record, std::string search_term) { + if (search_term.empty()) + return DATABASE_RECORD_NOT_FOUND; + auto result = db_file.open(file_path); if (!result.is_valid()) { number_of_records = (db_file.size() / (index_item_length + record_length)); // determine number of records in file