From e4428849f3867c6fb99da0234af25d2d357d7fc4 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 4 Dec 2013 21:05:08 +0100 Subject: [PATCH] Fixes #190 --- companion/src/mainwindow.cpp | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 4f448b36d..9c8818c82 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1218,34 +1218,29 @@ bool MainWindow::isValidEEPROM(QString eepromfile) return false; } file.close(); - RadioData radioData; - if (!LoadEeprom(radioData, eeprom, eeprom_size)) { - free(eeprom); - return false; - } else { - free(eeprom); - return true; - } - } else if (fileType==FILE_TYPE_BIN) { //read binary + RadioData * radioData = new RadioData(); + bool result = LoadEeprom(*radioData, eeprom, eeprom_size); + free(eeprom); + delete radioData; + return result; + } + else if (fileType==FILE_TYPE_BIN) { //read binary if (!file.open(QFile::ReadOnly)) return false; eeprom_size = file.size(); uint8_t *eeprom = (uint8_t *)malloc(eeprom_size); memset(eeprom, 0, eeprom_size); - long result = file.read((char*)eeprom, eeprom_size); + long read = file.read((char*)eeprom, eeprom_size); file.close(); - if (result != eeprom_size) { + if (read != eeprom_size) { free(eeprom); return false; } - RadioData radioData; - if (!LoadEeprom(radioData, eeprom, eeprom_size)) { - free(eeprom); - return false; - } else { - free(eeprom); - return true; - } + RadioData * radioData = new RadioData(); + bool result = LoadEeprom(*radioData, eeprom, eeprom_size); + free(eeprom); + delete radioData; + return result; } return false; }