This commit is contained in:
yhirose
2026-01-02 20:45:01 -05:00
parent 781c55f120
commit 23a1d79a66
2 changed files with 27 additions and 8 deletions
+12 -8
View File
@@ -2443,16 +2443,20 @@ namespace detail {
#if defined(_WIN32) #if defined(_WIN32)
inline std::wstring u8string_to_wstring(const char *s) { inline std::wstring u8string_to_wstring(const char *s) {
std::wstring ws; if (!s) { return std::wstring(); }
auto len = static_cast<int>(strlen(s)); auto len = static_cast<int>(strlen(s));
if (!len) { return std::wstring(); }
auto wlen = ::MultiByteToWideChar(CP_UTF8, 0, s, len, nullptr, 0); auto wlen = ::MultiByteToWideChar(CP_UTF8, 0, s, len, nullptr, 0);
if (wlen > 0) { if (!wlen) { return std::wstring(); }
ws.resize(wlen);
wlen = ::MultiByteToWideChar( std::wstring ws;
CP_UTF8, 0, s, len, ws.resize(wlen);
const_cast<LPWSTR>(reinterpret_cast<LPCWSTR>(ws.data())), wlen); wlen = ::MultiByteToWideChar(
if (wlen != static_cast<int>(ws.size())) { ws.clear(); } CP_UTF8, 0, s, len,
} const_cast<LPWSTR>(reinterpret_cast<LPCWSTR>(ws.data())), wlen);
if (wlen != static_cast<int>(ws.size())) { ws.clear(); }
return ws; return ws;
} }
#endif #endif
+15
View File
@@ -14086,3 +14086,18 @@ TEST_F(SSEIntegrationTest, LastEventIdSentOnReconnect) {
EXPECT_EQ(received_last_event_ids[1], "event-0"); EXPECT_EQ(received_last_event_ids[1], "event-0");
} }
} }
TEST(Issue2318Test, EmptyHostString) {
{
httplib::Client cli_empty("", PORT);
auto res = cli_empty.Get("/");
ASSERT_FALSE(res);
EXPECT_EQ(httplib::Error::Connection, res.error());
}
{
httplib::Client cli(" ", PORT);
auto res = cli.Get("/");
ASSERT_FALSE(res);
EXPECT_EQ(httplib::Error::Connection, res.error());
}
}