Skip to content

Commit

Permalink
Use UTF-8 conversion for log output and C standard library functions
Browse files Browse the repository at this point in the history
  • Loading branch information
cgutman committed Aug 12, 2023
1 parent 4186d83 commit cadd3da
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,9 @@ main(int argc, char *argv[]) {
task_pool_util::TaskPool::task_id_t force_shutdown = nullptr;

#ifdef _WIN32
// Switch default C standard library locale to UTF-8 on Windows 10 1803+
setlocale(LC_ALL, ".UTF-8");

// Wait as long as possible to terminate Sunshine.exe during logoff/shutdown
SetProcessShutdownParameters(0x100, SHUTDOWN_NORETRY);

Expand Down Expand Up @@ -516,6 +519,9 @@ main(int argc, char *argv[]) {
window_thread.detach();
#endif

// Use UTF-8 conversion for the default C++ locale (used by boost::log)
std::locale::global(std::locale(std::locale(), new std::codecvt_utf8<wchar_t>));

mail::man = std::make_shared<safe::mail_raw_t>();

if (config::parse(argc, argv)) {
Expand Down

0 comments on commit cadd3da

Please sign in to comment.