diff --git a/code/espurna/settings_helpers.h b/code/espurna/settings_helpers.h index 96bee9ac..c3092a14 100644 --- a/code/espurna/settings_helpers.h +++ b/code/espurna/settings_helpers.h @@ -289,11 +289,7 @@ private: namespace query { inline bool samePrefix(StringView key, StringView prefix) { - if (key.length() > prefix.length()) { - return strncmp_P(key.c_str(), prefix.c_str(), prefix.length()) == 0; - } - - return false; + return key.startsWith(prefix); } struct StringViewIterator { diff --git a/code/espurna/ws.cpp b/code/espurna/ws.cpp index 274087fa..3dd44c62 100644 --- a/code/espurna/ws.cpp +++ b/code/espurna/ws.cpp @@ -622,11 +622,11 @@ void _wsParse(AsyncWebSocketClient *client, uint8_t * payload, size_t length) { } bool _wsOnKeyCheck(espurna::StringView key, const JsonVariant&) { - return espurna::settings::query::samePrefix(key, STRING_VIEW("ws")) - || espurna::settings::query::samePrefix(key, STRING_VIEW("adminPass")) - || espurna::settings::query::samePrefix(key, STRING_VIEW("hostname")) - || espurna::settings::query::samePrefix(key, STRING_VIEW("desc")) - || espurna::settings::query::samePrefix(key, STRING_VIEW("webPort")); + return (key == STRING_VIEW("adminPass")) + || (key == STRING_VIEW("hostname")) + || (key == STRING_VIEW("desc")) + || (key == STRING_VIEW("webPort")) + || key.startsWith(STRING_VIEW("ws")); } void _wsOnConnected(JsonObject& root) {