From bfe84f06f2de966b68026f5b3f4212fd2ba783b6 Mon Sep 17 00:00:00 2001
From: Weiyi Wang <wwylele@gmail.com>
Date: Sat, 22 Sep 2018 00:52:38 -0400
Subject: [PATCH] string_util: remove TString conversion for windows

First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
---
 src/common/file_util.h   |  2 +-
 src/common/string_util.h | 18 ------------------
 2 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/src/common/file_util.h b/src/common/file_util.h
index 3d8fe62647..571503d2ae 100644
--- a/src/common/file_util.h
+++ b/src/common/file_util.h
@@ -285,7 +285,7 @@ private:
 template <typename T>
 void OpenFStream(T& fstream, const std::string& filename, std::ios_base::openmode openmode) {
 #ifdef _MSC_VER
-    fstream.open(Common::UTF8ToTStr(filename).c_str(), openmode);
+    fstream.open(Common::UTF8ToUTF16W(filename).c_str(), openmode);
 #else
     fstream.open(filename.c_str(), openmode);
 #endif
diff --git a/src/common/string_util.h b/src/common/string_util.h
index 78b5584052..32bf6a19c4 100644
--- a/src/common/string_util.h
+++ b/src/common/string_util.h
@@ -76,24 +76,6 @@ std::u16string UTF8ToUTF16(const std::string& input);
 std::string UTF16ToUTF8(const std::wstring& input);
 std::wstring UTF8ToUTF16W(const std::string& str);
 
-#ifdef _UNICODE
-inline std::string TStrToUTF8(const std::wstring& str) {
-    return UTF16ToUTF8(str);
-}
-
-inline std::wstring UTF8ToTStr(const std::string& str) {
-    return UTF8ToUTF16W(str);
-}
-#else
-inline std::string TStrToUTF8(const std::string& str) {
-    return str;
-}
-
-inline std::string UTF8ToTStr(const std::string& str) {
-    return str;
-}
-#endif
-
 #endif
 
 /**