From cc8234fa89f1a7dcc2709e6d3be03f8458c841d4 Mon Sep 17 00:00:00 2001
From: Zach Hilman <zachhilman@gmail.com>
Date: Sun, 29 Jul 2018 17:45:12 -0400
Subject: [PATCH] Use SHGetKnownFolderPath instead of SHGetFolderPathA

---
 src/common/file_util.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index a26702f54..ed38c3ced 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -738,10 +738,11 @@ const std::string& GetUserPath(UserPath path, const std::string& new_path) {
 
 std::string GetHactoolConfigurationPath() {
 #ifdef _WIN32
-    char path[MAX_PATH];
-    if (SHGetFolderPathA(nullptr, CSIDL_PROFILE, nullptr, 0, path) != S_OK)
+    PWSTR pw_local_path = nullptr;
+    if (SHGetKnownFolderPath(FOLDERID_Profile, 0, nullptr, &pw_local_path) != S_OK)
         return "";
-    std::string local_path = Common::StringFromFixedZeroTerminatedBuffer(path, MAX_PATH);
+    std::string local_path = Common::UTF16ToUTF8(pw_local_path);
+    CoTaskMemFree(pw_local_path);
     return local_path + "\\.switch";
 #else
     return GetHomeDirectory() + "/.switch";