From ad4dd6a060d81661483ce374626215fe80cbd47b Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 29 Jun 2025 21:07:39 -0500 Subject: [PATCH] cleanup --- .../components/web_server_idf/multipart.cpp | 2 +- .../web_server_idf/parser_utils.cpp | 42 ------------------- .../components/web_server_idf/parser_utils.h | 21 ---------- esphome/components/web_server_idf/utils.cpp | 32 ++++++++++++++ esphome/components/web_server_idf/utils.h | 10 +++++ .../web_server_idf/web_server_idf.cpp | 1 - 6 files changed, 43 insertions(+), 65 deletions(-) delete mode 100644 esphome/components/web_server_idf/parser_utils.cpp delete mode 100644 esphome/components/web_server_idf/parser_utils.h diff --git a/esphome/components/web_server_idf/multipart.cpp b/esphome/components/web_server_idf/multipart.cpp index db9fc5173b..7944ad4e5d 100644 --- a/esphome/components/web_server_idf/multipart.cpp +++ b/esphome/components/web_server_idf/multipart.cpp @@ -1,7 +1,7 @@ #include "esphome/core/defines.h" #if defined(USE_ESP_IDF) && defined(USE_WEBSERVER_OTA) #include "multipart.h" -#include "parser_utils.h" +#include "utils.h" #include "esphome/core/log.h" #include #include "multipart_parser.h" diff --git a/esphome/components/web_server_idf/parser_utils.cpp b/esphome/components/web_server_idf/parser_utils.cpp deleted file mode 100644 index fb88dd1a15..0000000000 --- a/esphome/components/web_server_idf/parser_utils.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include "esphome/core/defines.h" -#ifdef USE_ESP_IDF -#include "parser_utils.h" -#include -#include - -namespace esphome { -namespace web_server_idf { - -// Helper function for case-insensitive string region comparison -bool str_ncmp_ci(const char *s1, const char *s2, size_t n) { - for (size_t i = 0; i < n; i++) { - if (!char_equals_ci(s1[i], s2[i])) { - return false; - } - } - return true; -} - -// Case-insensitive string search (like strstr but case-insensitive) -const char *stristr(const char *haystack, const char *needle) { - if (!haystack) { - return nullptr; - } - - size_t needle_len = strlen(needle); - if (needle_len == 0) { - return haystack; - } - - for (const char *p = haystack; *p; p++) { - if (str_ncmp_ci(p, needle, needle_len)) { - return p; - } - } - - return nullptr; -} - -} // namespace web_server_idf -} // namespace esphome -#endif // USE_ESP_IDF diff --git a/esphome/components/web_server_idf/parser_utils.h b/esphome/components/web_server_idf/parser_utils.h deleted file mode 100644 index ed4d2341fb..0000000000 --- a/esphome/components/web_server_idf/parser_utils.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once -#include "esphome/core/defines.h" -#ifdef USE_ESP_IDF - -#include - -namespace esphome { -namespace web_server_idf { - -// Helper function for case-insensitive character comparison -inline bool char_equals_ci(char a, char b) { return ::tolower(a) == ::tolower(b); } - -// Helper function for case-insensitive string region comparison -bool str_ncmp_ci(const char *s1, const char *s2, size_t n); - -// Case-insensitive string search (like strstr but case-insensitive) -const char *stristr(const char *haystack, const char *needle); - -} // namespace web_server_idf -} // namespace esphome -#endif // USE_ESP_IDF diff --git a/esphome/components/web_server_idf/utils.cpp b/esphome/components/web_server_idf/utils.cpp index 349acce50d..ac5df90bb8 100644 --- a/esphome/components/web_server_idf/utils.cpp +++ b/esphome/components/web_server_idf/utils.cpp @@ -1,5 +1,7 @@ #ifdef USE_ESP_IDF #include +#include +#include #include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "http_parser.h" @@ -88,6 +90,36 @@ optional query_key_value(const std::string &query_url, const std::s return {val.get()}; } +// Helper function for case-insensitive string region comparison +bool str_ncmp_ci(const char *s1, const char *s2, size_t n) { + for (size_t i = 0; i < n; i++) { + if (!char_equals_ci(s1[i], s2[i])) { + return false; + } + } + return true; +} + +// Case-insensitive string search (like strstr but case-insensitive) +const char *stristr(const char *haystack, const char *needle) { + if (!haystack) { + return nullptr; + } + + size_t needle_len = strlen(needle); + if (needle_len == 0) { + return haystack; + } + + for (const char *p = haystack; *p; p++) { + if (str_ncmp_ci(p, needle, needle_len)) { + return p; + } + } + + return nullptr; +} + } // namespace web_server_idf } // namespace esphome #endif // USE_ESP_IDF diff --git a/esphome/components/web_server_idf/utils.h b/esphome/components/web_server_idf/utils.h index 9ed17c1d50..988b962d72 100644 --- a/esphome/components/web_server_idf/utils.h +++ b/esphome/components/web_server_idf/utils.h @@ -2,6 +2,7 @@ #ifdef USE_ESP_IDF #include +#include #include "esphome/core/helpers.h" namespace esphome { @@ -12,6 +13,15 @@ optional request_get_header(httpd_req_t *req, const char *name); optional request_get_url_query(httpd_req_t *req); optional query_key_value(const std::string &query_url, const std::string &key); +// Helper function for case-insensitive character comparison +inline bool char_equals_ci(char a, char b) { return ::tolower(a) == ::tolower(b); } + +// Helper function for case-insensitive string region comparison +bool str_ncmp_ci(const char *s1, const char *s2, size_t n); + +// Case-insensitive string search (like strstr but case-insensitive) +const char *stristr(const char *haystack, const char *needle); + } // namespace web_server_idf } // namespace esphome #endif // USE_ESP_IDF diff --git a/esphome/components/web_server_idf/web_server_idf.cpp b/esphome/components/web_server_idf/web_server_idf.cpp index 82e73e035a..6897c9d7d6 100644 --- a/esphome/components/web_server_idf/web_server_idf.cpp +++ b/esphome/components/web_server_idf/web_server_idf.cpp @@ -14,7 +14,6 @@ #include "utils.h" #include "web_server_idf.h" -#include "parser_utils.h" #ifdef USE_WEBSERVER_OTA #include "multipart.h"