diff --git a/httplib.h b/httplib.h index a2de258..4bab7be 100644 --- a/httplib.h +++ b/httplib.h @@ -6361,6 +6361,10 @@ inline void get_remote_ip_and_port(socket_t sock, std::string &ip, int &port) { } } +// Recursive form retained so operator""_t below can compute hashes for +// switch-case labels at compile time (C++11 constexpr forbids loops). Do not +// call from runtime paths with arbitrary-length inputs — use str2tag() +// instead, which is iterative and stack-safe. inline constexpr unsigned int str2tag_core(const char *s, size_t l, unsigned int h) { return (l == 0)