From c8757d45c8fb8c58f48312296bc9a90a1a622305 Mon Sep 17 00:00:00 2001 From: Arthur Suzuki Date: Sat, 30 Aug 2025 04:12:08 +0200 Subject: [PATCH] fix more nitpicks comments --- usermods/udp_name_sync/udp_name_sync.cpp | 26 +++++++++++------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/usermods/udp_name_sync/udp_name_sync.cpp b/usermods/udp_name_sync/udp_name_sync.cpp index 7b78a624..b31b8569 100644 --- a/usermods/udp_name_sync/udp_name_sync.cpp +++ b/usermods/udp_name_sync/udp_name_sync.cpp @@ -22,6 +22,7 @@ class UdpNameSync : public Usermod { inline bool isEnabled() const { return enabled; } void setup() override { + // Enabled when this usermod is compiled, set to false if you prefer runtime opt-in enable(true); } @@ -30,12 +31,16 @@ class UdpNameSync : public Usermod { if (!WLED_CONNECTED) return; if (!udpConnected) return; Segment& mainseg = strip.getMainSegment(); - if (!strlen(segmentName) && !mainseg.name) return; //name was never set, do nothing + if (segmentName[0] == '\0' && !mainseg.name) return; //name was never set, do nothing + + const char* curName = mainseg.name ? mainseg.name : ""; + if (strncmp(curName, segmentName, sizeof(segmentName)) == 0) return; // same name, do nothing IPAddress broadcastIp = uint32_t(Network.localIP()) | ~uint32_t(Network.subnetMask()); byte udpOut[WLED_MAX_SEGNAME_LEN + 2]; - udpOut[0] = kPacketType; // custom usermod packet type (avoid 0..5 used by core protocols) - if (strlen(segmentName) && !mainseg.name) { // name cleared + udpOut[0] = kPacketType; // custom usermod packet type (avoid 0..5 used by core protocols) + + if (segmentName[0] != '\0' && !mainseg.name) { // name cleared notifierUdp.beginPacket(broadcastIp, udpPort); segmentName[0] = '\0'; DEBUG_PRINTLN(F("UdpNameSync: sending empty name")); @@ -45,19 +50,17 @@ class UdpNameSync : public Usermod { return; } - const char* curName = mainseg.name ? mainseg.name : ""; - if (strncmp(curName, segmentName, sizeof(segmentName)) == 0) return; // same name, do nothing - notifierUdp.beginPacket(broadcastIp, udpPort); DEBUG_PRINT(F("UdpNameSync: saving segment name ")); - DEBUG_PRINTLN(mainseg.name); DEBUG_PRINTLN(curName); - strlcpy(segmentName, mainseg.name, sizeof(segmentName)); + strlcpy(segmentName, curName, sizeof(segmentName)); strlcpy((char *)&udpOut[1], segmentName, sizeof(udpOut) - 1); // leave room for header byte - notifierUdp.write(udpOut, 2 + strnlen((char *)&udpOut[1], sizeof(udpOut) - 1)); + size_t nameLen = strnlen((char *)&udpOut[1], sizeof(udpOut) - 1); + notifierUdp.write(udpOut, 2 + nameLen); notifierUdp.endPacket(); DEBUG_PRINT(F("UdpNameSync: Sent segment name : ")); DEBUG_PRINTLN(segmentName); + return; } bool onUdpPacket(uint8_t * payload, size_t len) override { @@ -78,10 +81,5 @@ class UdpNameSync : public Usermod { } }; - -// add more strings here to reduce flash memory usage -const char UdpNameSync::_name[] PROGMEM = "UdpNameSync"; -const char UdpNameSync::_enabled[] PROGMEM = "enabled"; - static UdpNameSync udp_name_sync; REGISTER_USERMOD(udp_name_sync);