summaryrefslogtreecommitdiffhomepage
path: root/windows/nsis-plugins/src/log/logger.cpp
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-02-17 16:42:23 +0100
committerDavid Lönnhager <david.l@mullvad.net>2020-02-18 10:11:54 +0100
commit2029e433b0d65f7c07f050652df259994304b2ff (patch)
tree4b1e78a0999d68d8888eeb97c3be4823ae8d63fb /windows/nsis-plugins/src/log/logger.cpp
parenta0f3494a16f411e9d7a33351a732717be31827b1 (diff)
downloadmullvadvpn-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.cpp19
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)
{