From b9077c7e5aa167b282e78a1c9a8a899c4be1f926 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 31 Mar 2022 02:39:39 +0200 Subject: [PATCH] fix: Quote Stick, Pot, Slider and Switch names (#1754) * Quote stick names Resolves #1749 * Fix pot, slider and switch names as well. --- .../yaml/yaml_datastructs_funcs.cpp | 22 ++++++++++++++----- .../storage/yaml/yaml_datastructs_funcs.cpp | 22 ++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp index dd7e6f202..94268f70f 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp @@ -323,8 +323,11 @@ bool w_stick_name(void* user, uint8_t* data, uint32_t bitoffs, data -= offsetof(RadioData, switchConfig); RadioData* rd = reinterpret_cast(data); - return wf(opaque, rd->anaNames[idx], - strnlen(rd->anaNames[idx], LEN_ANA_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, rd->anaNames[idx], + strnlen(rd->anaNames[idx], LEN_ANA_NAME))) + return false; + return wf(opaque, "\"", 1); } bool stick_name_valid(void* user, uint8_t* data, uint32_t bitoffs) @@ -353,7 +356,10 @@ bool sw_name_write(void* user, uint8_t* data, uint32_t bitoffs, RadioData* rd = reinterpret_cast(data); const char* str = rd->switchNames[idx]; - return wf(opaque, str, strnlen(str, LEN_SWITCH_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, str, strnlen(str, LEN_SWITCH_NAME))) + return false; + return wf(opaque, "\"", 1); } extern const struct YamlIdStr enum_SwitchConfig[]; @@ -394,7 +400,10 @@ bool pot_name_write(void* user, uint8_t* data, uint32_t bitoffs, RadioData* rd = reinterpret_cast(data); idx += NUM_STICKS; const char* str = rd->anaNames[idx]; - return wf(opaque, str, strnlen(str, LEN_ANA_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, str, strnlen(str, LEN_ANA_NAME))) + return false; + return wf(opaque, "\"", 1); } static const struct YamlIdStr enum_PotConfig[] = { @@ -444,7 +453,10 @@ bool sl_name_write(void* user, uint8_t* data, uint32_t bitoffs, RadioData* rd = reinterpret_cast(data); idx += NUM_STICKS + STORAGE_NUM_POTS; const char* str = rd->anaNames[idx]; - return wf(opaque, str, strnlen(str, LEN_ANA_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, str, strnlen(str, LEN_ANA_NAME))) + return false; + return wf(opaque, "\"", 1); } static const struct YamlIdStr enum_SliderConfig[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp index 3358c6941..fd93c4aaa 100644 --- a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp @@ -557,8 +557,11 @@ static bool w_stick_name(void* user, uint8_t* data, uint32_t bitoffs, data -= offsetof(RadioData, switchConfig); RadioData* rd = reinterpret_cast(data); - return wf(opaque, rd->anaNames[idx], - strnlen(rd->anaNames[idx], LEN_ANA_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, rd->anaNames[idx], + strnlen(rd->anaNames[idx], LEN_ANA_NAME))) + return false; + return wf(opaque, "\"", 1); } static bool stick_name_valid(void* user, uint8_t* data, uint32_t bitoffs) @@ -602,7 +605,10 @@ static bool sw_name_write(void* user, uint8_t* data, uint32_t bitoffs, RadioData* rd = reinterpret_cast(data); const char* str = rd->switchNames[idx]; - return wf(opaque, str, strnlen(str, LEN_SWITCH_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, str, strnlen(str, LEN_SWITCH_NAME))) + return false; + return wf(opaque, "\"", 1); } static const struct YamlNode struct_switchConfig[] = { @@ -658,7 +664,10 @@ static bool pot_name_write(void* user, uint8_t* data, uint32_t bitoffs, RadioData* rd = reinterpret_cast(data); idx += NUM_STICKS; const char* str = rd->anaNames[idx]; - return wf(opaque, str, strnlen(str, LEN_ANA_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, str, strnlen(str, LEN_ANA_NAME))) + return false; + return wf(opaque, "\"", 1); } static const struct YamlIdStr enum_PotConfig[] = { @@ -741,7 +750,10 @@ static bool sl_name_write(void* user, uint8_t* data, uint32_t bitoffs, RadioData* rd = reinterpret_cast(data); idx += NUM_STICKS + STORAGE_NUM_POTS; const char* str = rd->anaNames[idx]; - return wf(opaque, str, strnlen(str, LEN_ANA_NAME)); + if (!wf(opaque, "\"", 1)) return false; + if (!wf(opaque, str, strnlen(str, LEN_ANA_NAME))) + return false; + return wf(opaque, "\"", 1); } static const struct YamlIdStr enum_SliderConfig[] = {