Simplify WriteFile() usage under windows

This commit is contained in:
gabime 2020-09-27 18:32:08 +03:00
parent 48d4ed9bc0
commit cfd0ea197c

View File

@ -151,17 +151,12 @@ void SPDLOG_INLINE wincolor_sink<ConsoleMutex>::write_to_file_(const memory_buf_
return; return;
} }
DWORD total_written = 0;
do
{
DWORD bytes_written = 0; DWORD bytes_written = 0;
bool ok = ::WriteFile(out_handle_, formatted.data() + total_written, size - total_written, &bytes_written, nullptr) != 0; bool ok = ::WriteFile(out_handle_, formatted.data(), size, &bytes_written, nullptr) != 0;
if (!ok || bytes_written == 0) if (!ok)
{ {
throw_spdlog_ex("wincolor_sink: write_to_file_ failed. GetLastError(): " + std::to_string(::GetLastError())); throw_spdlog_ex("wincolor_sink: write_to_file_ failed. GetLastError(): " + std::to_string(::GetLastError()));
} }
total_written += bytes_written;
} while (total_written < size);
} }
// wincolor_stdout_sink // wincolor_stdout_sink