From 15a8e87c3ecc9c770271de65b1937b5e433e152b Mon Sep 17 00:00:00 2001 From: SASANO Takayoshi Date: Thu, 2 Jul 2020 18:47:33 +0900 Subject: [PATCH] permit inline comment and ScreenLayout of Nextion two minor improvements - ScreenLayout in Nextion section can use hexadecimal (0xXXXXX), octal (0XXXX) and decimal value - in-line comment enabled example: # conventional comment, the line starts with # [Section] Key=value # this is new style comment Key="quoted value # this is not comment" Key="quoted value" # this is prohibited (not comment) --- Conf.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Conf.cpp b/Conf.cpp index 5bc7dba..6602b3c 100644 --- a/Conf.cpp +++ b/Conf.cpp @@ -390,6 +390,9 @@ bool CConf::read() if (len > 1U && *value == '"' && value[len - 1U] == '"') { value[len - 1U] = '\0'; value++; + } else { + // if value is not quoted, remove after # (to make comment) + strtok(value, "#"); } if (section == SECTION_GENERAL) { @@ -916,7 +919,7 @@ bool CConf::read() else if (::strcmp(key, "IdleBrightness") == 0) m_nextionIdleBrightness = (unsigned int)::atoi(value); else if (::strcmp(key, "ScreenLayout") == 0) - m_nextionScreenLayout = (unsigned int)::atoi(value); + m_nextionScreenLayout = (unsigned int)::strtoul(value, NULL, 0); else if (::strcmp(key, "DisplayTempInFahrenheit") == 0) m_nextionTempInFahrenheit = ::atoi(value) == 1; } else if (section == SECTION_OLED) {