[wpinet] WebServer: Fix Windows (#7551)

The order of evaluation of parameters is not defined; on Windows,
the std::move was executed before the GetBuffer().
This commit is contained in:
Peter Johnson
2024-12-15 00:07:48 -07:00
committed by GitHub
parent a1b642a402
commit 564c1f2de2

View File

@@ -163,10 +163,10 @@ void MyHttpConnection::SendFileResponse(int code, std::string_view codeText,
wpi::raw_uv_ostream os{toSend, 4096};
BuildHeader(os, code, codeText, contentType, (*membuf)->size(), extraHeader);
SendData(os.bufs(), false);
auto buf = (*membuf)->GetBuffer();
m_stream.Write(
{{(*membuf)->GetBuffer()}},
[closeAfter = !m_keepAlive, stream = &m_stream,
membuf = std::shared_ptr{std::move(*membuf)}](auto, uv::Error) {
{{buf}}, [closeAfter = !m_keepAlive, stream = &m_stream,
membuf = std::shared_ptr{std::move(*membuf)}](auto, uv::Error) {
if (closeAfter) {
stream->Close();
}