Fix StrCaseStr_P()

This commit is contained in:
Theo Arends 2024-07-23 14:28:36 +02:00
parent c84faa79fb
commit 401d7b9b41

View File

@ -590,12 +590,17 @@ char* SetStr(const char* str) {
return new_str; return new_str;
} }
bool StrCaseStr_P(const char* source, const char* search) { char* StrCaseStr_P(const char* source, const char* search) {
char case_source[strlen_P(source) +1]; char case_source[strlen_P(source) +1];
UpperCase_P(case_source, source); UpperCase_P(case_source, source);
char case_search[strlen_P(search) +1]; char case_search[strlen_P(search) +1];
UpperCase_P(case_search, search); UpperCase_P(case_search, search);
return (strstr(case_source, case_search) != nullptr); char *cp = strstr(case_source, case_search);
if (cp) {
uint32_t offset = cp - case_source;
cp = (char*)source + offset;
}
return cp;
} }
bool IsNumeric(const char* value) { bool IsNumeric(const char* value) {
@ -1534,16 +1539,7 @@ bool ValidModule(uint32_t index)
} }
bool ValidTemplate(const char *search) { bool ValidTemplate(const char *search) {
/* return (StrCaseStr_P(SettingsText(SET_TEMPLATE_NAME), search) != nullptr);
char template_name[strlen(SettingsText(SET_TEMPLATE_NAME)) +1];
char search_name[strlen(search) +1];
LowerCase(template_name, SettingsText(SET_TEMPLATE_NAME));
LowerCase(search_name, search);
return (strstr(template_name, search_name) != nullptr);
*/
return StrCaseStr_P(SettingsText(SET_TEMPLATE_NAME), search);
} }
String AnyModuleName(uint32_t index) String AnyModuleName(uint32_t index)