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;
}
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];
UpperCase_P(case_source, source);
char case_search[strlen_P(search) +1];
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) {
@ -1534,16 +1539,7 @@ bool ValidModule(uint32_t index)
}
bool ValidTemplate(const char *search) {
/*
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);
return (StrCaseStr_P(SettingsText(SET_TEMPLATE_NAME), search) != nullptr);
}
String AnyModuleName(uint32_t index)