From 3021a9bf1dc205029aec6b60b4825e24b09f33ac Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sun, 5 Feb 2023 12:10:52 +0100 Subject: [PATCH 1/3] make http-server less verbose in debug mode --- .../src/ESP8266WebServer-impl.h | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h index 6ffdbbd3b6..272b121571 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h @@ -296,12 +296,30 @@ void ESP8266WebServerTemplate::handleClient() { bool keepCurrentClient = false; bool callYield = false; - DBGWS("http-server loop: conn=%d avail=%d status=%s\n", - _currentClient.connected(), _currentClient.available(), - _currentStatus==HC_NONE?"none": - _currentStatus==HC_WAIT_READ?"wait-read": - _currentStatus==HC_WAIT_CLOSE?"wait-close": - "??"); +#ifdef DEBUG_ESP_HTTP_SERVER + + struct compare_s + { + uint8_t connected; + int available; + HTTPClientStatus status; + bool operator != (const compare_s& o) { return memcmp(this, &o, sizeof(o)) != 0; } + }; + static compare_s last { false, 0, HC_NONE }; + compare_s now = { _currentClient.connected(), _currentClient.available(), _currentStatus }; + + if (last != now) + { + DBGWS("http-server loop: conn=%d avail=%d status=%s\n", + _currentClient.connected(), _currentClient.available(), + _currentStatus==HC_NONE?"none": + _currentStatus==HC_WAIT_READ?"wait-read": + _currentStatus==HC_WAIT_CLOSE?"wait-close": + "??"); + last = now; + } + +#endif // DEBUG_ESP_HTTP_SERVER if (_currentClient.connected() || _currentClient.available()) { if (_currentClient.available() && _keepAlive) { From b57fd66698e983fc64ed55ea322727b8ef598ce7 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sun, 5 Feb 2023 12:20:51 +0100 Subject: [PATCH 2/3] unify style --- libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h index 272b121571..19d3eb163e 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h @@ -306,7 +306,7 @@ void ESP8266WebServerTemplate::handleClient() { bool operator != (const compare_s& o) { return memcmp(this, &o, sizeof(o)) != 0; } }; static compare_s last { false, 0, HC_NONE }; - compare_s now = { _currentClient.connected(), _currentClient.available(), _currentStatus }; + compare_s now { _currentClient.connected(), _currentClient.available(), _currentStatus }; if (last != now) { From ba34aa7db0aa7ae42a46b0d17c16d41722a801bc Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sun, 5 Feb 2023 13:16:15 +0100 Subject: [PATCH 3/3] avoid comparing uninitialized padding per review --- libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h index 19d3eb163e..eca341aee5 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h @@ -303,7 +303,12 @@ void ESP8266WebServerTemplate::handleClient() { uint8_t connected; int available; HTTPClientStatus status; - bool operator != (const compare_s& o) { return memcmp(this, &o, sizeof(o)) != 0; } + bool operator != (const compare_s& o) + { + return o.connected != connected + || o.available != available + || o.status != status; + } }; static compare_s last { false, 0, HC_NONE }; compare_s now { _currentClient.connected(), _currentClient.available(), _currentStatus };