fix: loadRadioSettingsYaml not honoring chk flag (#3197)
This commit is contained in:
@@ -131,7 +131,7 @@ static const char * attemptLoad(const char *filename, ChecksumResult* checksum_s
|
||||
return readYamlFile(filename, YamlTreeWalker::get_parser_calls(), &tree, checksum_status);
|
||||
}
|
||||
|
||||
const char * loadRadioSettingsYaml()
|
||||
const char * loadRadioSettingsYaml(bool checks)
|
||||
{
|
||||
// YAML reader
|
||||
TRACE("YAML radio settings reader");
|
||||
@@ -139,6 +139,9 @@ const char * loadRadioSettingsYaml()
|
||||
ChecksumResult checksum_status;
|
||||
const char* p = attemptLoad(RADIO_SETTINGS_YAML_PATH, &checksum_status);
|
||||
|
||||
if(!checks)
|
||||
return p;
|
||||
|
||||
if((p != NULL) || (checksum_status != ChecksumResult::Success) ) {
|
||||
// Read failed or checksum check failed
|
||||
FRESULT result = FR_OK;
|
||||
@@ -182,7 +185,7 @@ const char * loadRadioSettings()
|
||||
g_eeGeneral.internalModule = DEFAULT_INTERNAL_MODULE;
|
||||
#endif
|
||||
|
||||
const char* error = loadRadioSettingsYaml();
|
||||
const char* error = loadRadioSettingsYaml(true);
|
||||
if (!error) {
|
||||
g_eeGeneral.chkSum = evalChkSum();
|
||||
}
|
||||
@@ -598,5 +601,5 @@ const char * restoreModel(uint8_t idx, char *model_name)
|
||||
bool storageReadRadioSettings(bool checks)
|
||||
{
|
||||
if (!sdMounted()) sdInit();
|
||||
return loadRadioSettingsYaml() == nullptr;
|
||||
return loadRadioSettingsYaml(checks) == nullptr;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ enum class ChecksumResult {Success, Failed, None};
|
||||
|
||||
constexpr uint8_t MODELIDX_STRLEN = sizeof(MODEL_FILENAME_PREFIX "00");
|
||||
|
||||
const char * loadRadioSettingsYaml();
|
||||
const char * loadRadioSettingsYaml(bool checks);
|
||||
const char * writeModelYaml(const char* filename);
|
||||
const char * readModelYaml(const char * filename, uint8_t * buffer, uint32_t size, const char* pathName = STR_MODELS_PATH);
|
||||
bool YamlFileChecksum(const YamlNode* root_node, uint8_t* data, uint16_t* checksum);
|
||||
|
||||
Reference in New Issue
Block a user