#pragma once #include namespace kvida { // Minimal '%XX' + '+' decoder for URL-encoded form fields (in place). // Shared by commissioning.cpp's Wi-Fi setup form and mqtt.cpp's MQTT // settings form. inline void url_decode(char *s) { char *out = s; while (*s) { if (*s == '+') { *out++ = ' '; s++; } else if (*s == '%' && s[1] && s[2]) { const char hex[3] = {s[1], s[2], 0}; *out++ = static_cast(strtol(hex, nullptr, 16)); s += 3; } else { *out++ = *s++; } } *out = '\0'; } } // namespace kvida