From 00aa2fee6d3841788d7146e5d6d66d0bceff9c3f Mon Sep 17 00:00:00 2001
From: Aura Linden <aura@lindenlab.com>
Date: Wed, 15 Jan 2014 21:24:55 -0800
Subject: [PATCH] Fixes from Windows build including utf-16 to utf-8
 conversions.

---
 indra/llcommon/llstring.h                       | 5 ++++-
 indra/win_crash_logger/llcrashloggerwindows.cpp | 8 ++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h
index f9702868c8e..16a19e7021a 100755
--- a/indra/llcommon/llstring.h
+++ b/indra/llcommon/llstring.h
@@ -518,10 +518,13 @@ LL_COMMON_API S32 wchar_to_utf8chars(llwchar inchar, char* outchars);
 
 LL_COMMON_API std::string wstring_to_utf8str(const LLWString &utf32str, S32 len);
 LL_COMMON_API std::string wstring_to_utf8str(const LLWString &utf32str);
-
 LL_COMMON_API std::string utf16str_to_utf8str(const llutf16string &utf16str, S32 len);
 LL_COMMON_API std::string utf16str_to_utf8str(const llutf16string &utf16str);
 
+#if LL_WINDOWS
+inline std::string wstring_to_utf8str(const llutf16string &utf16str) { return utf16str_to_utf8str(utf16str);}
+#endif
+
 // Length of this UTF32 string in bytes when transformed to UTF8
 LL_COMMON_API S32 wstring_utf8_length(const LLWString& wstr); 
 
diff --git a/indra/win_crash_logger/llcrashloggerwindows.cpp b/indra/win_crash_logger/llcrashloggerwindows.cpp
index f0bc03a9c46..03a709d757f 100644
--- a/indra/win_crash_logger/llcrashloggerwindows.cpp
+++ b/indra/win_crash_logger/llcrashloggerwindows.cpp
@@ -43,6 +43,7 @@
 #include "lldir.h"
 #include "llsdserialize.h"
 #include "llsdutil.h"
+#include "stringize.h"
 
 #include <client/windows/crash_generation/crash_generation_server.h>
 #include <client/windows/crash_generation/client_info.h>
@@ -387,13 +388,12 @@ bool LLCrashLoggerWindows::initCrashServer()
 	//this is unique-enough with least hassle.  Worst case for duplicate name
 	//is a second instance of the viewer will not do crash reporting. 
 	std::wstring wpipe_name;
-	wpipe_name = mCrashReportPipeStr + stringize(mPID);
+	wpipe_name = mCrashReportPipeStr + std::wstring(wstringize(mPID));
 
-	std::wstring wdump_path;
-	wdump_path = stringize(dump_path);
+	std::wstring wdump_path( wstringize(dump_path) );
 
 	//Pipe naming conventions:  http://msdn.microsoft.com/en-us/library/aa365783%28v=vs.85%29.aspx
-	mCrashHandler = new CrashGenerationServer( stringize(wpipe_name).c_str(),
+	mCrashHandler = new CrashGenerationServer( wpipe_name,
 		NULL, 
  		&LLCrashLoggerWindows::OnClientConnected, this,
 		NULL, NULL,	// 	&LLCrashLoggerWindows::OnClientDumpRequest, this,
-- 
GitLab