diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-02-17 16:42:23 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-02-18 10:11:54 +0100 |
| commit | 2029e433b0d65f7c07f050652df259994304b2ff (patch) | |
| tree | 4b1e78a0999d68d8888eeb97c3be4823ae8d63fb /windows/nsis-plugins/src/log/logger.cpp | |
| parent | a0f3494a16f411e9d7a33351a732717be31827b1 (diff) | |
| download | mullvadvpn-2029e433b0d65f7c07f050652df259994304b2ff.tar.xz mullvadvpn-2029e433b0d65f7c07f050652df259994304b2ff.zip | |
Replace AnsiFileLogSink with Utf8FileLogSink
Diffstat (limited to 'windows/nsis-plugins/src/log/logger.cpp')
| -rw-r--r-- | windows/nsis-plugins/src/log/logger.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/windows/nsis-plugins/src/log/logger.cpp b/windows/nsis-plugins/src/log/logger.cpp index 8e3b6e6298..611e323282 100644 --- a/windows/nsis-plugins/src/log/logger.cpp +++ b/windows/nsis-plugins/src/log/logger.cpp @@ -5,7 +5,7 @@ #include <sstream> #include <iomanip> -AnsiFileLogSink::AnsiFileLogSink(const std::wstring &file, bool append, bool flush) +Utf8FileLogSink::Utf8FileLogSink(const std::wstring &file, bool append, bool flush) : m_flush(flush) { const DWORD creationDisposition = (append ? OPEN_ALWAYS : CREATE_ALWAYS); @@ -31,20 +31,27 @@ AnsiFileLogSink::AnsiFileLogSink(const std::wstring &file, bool append, bool flu } } -AnsiFileLogSink::~AnsiFileLogSink() +Utf8FileLogSink::~Utf8FileLogSink() { CloseHandle(m_logfile); } -void AnsiFileLogSink::log(const std::wstring &message) +void Utf8FileLogSink::log(const std::wstring &message) { - auto ansi = common::string::ToAnsi(message); + auto utf8String = common::string::ToUtf8(message); + utf8String.pop_back(); // remove the null char - ansi.append("\xd\xa"); + if (0 == utf8String.size()) + { + return; + } + + utf8String.push_back('\xd'); + utf8String.push_back('\xa'); DWORD bytesWritten; - WriteFile(m_logfile, ansi.c_str(), ansi.size(), &bytesWritten, nullptr); + WriteFile(m_logfile, utf8String.data(), utf8String.size(), &bytesWritten, nullptr); if (m_flush) { |
