Quellcode durchsuchen

Use SHGetKnownFolderPath instead of SHGetFolderPathA

Zach Hilman vor 8 Jahren
Ursprung
Commit
cc8234fa89
1 geänderte Dateien mit 4 neuen und 3 gelöschten Zeilen
  1. 4 3
      src/common/file_util.cpp

+ 4 - 3
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";