From 99c89ae10961f84192cdbfc501b4ff45a559dcd1 Mon Sep 17 00:00:00 2001 From: Rachel Bryk Date: Wed, 9 Oct 2013 15:33:21 -0400 Subject: [PATCH] Fix unicode support for File::Rename() on windows. Partial fix of issue 6721. --- Source/Core/Common/Src/FileUtil.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Core/Common/Src/FileUtil.cpp b/Source/Core/Common/Src/FileUtil.cpp index 7663e11078..dc07ddd7d7 100644 --- a/Source/Core/Common/Src/FileUtil.cpp +++ b/Source/Core/Common/Src/FileUtil.cpp @@ -241,7 +241,11 @@ bool Rename(const std::string &srcFilename, const std::string &destFilename) { INFO_LOG(COMMON, "Rename: %s --> %s", srcFilename.c_str(), destFilename.c_str()); +#ifdef _WIN32 + if (_trename(UTF8ToTStr(srcFilename).c_str(), UTF8ToTStr(destFilename).c_str()) == 0) +#else if (rename(srcFilename.c_str(), destFilename.c_str()) == 0) +#endif return true; ERROR_LOG(COMMON, "Rename: failed %s --> %s: %s", srcFilename.c_str(), destFilename.c_str(), GetLastErrorMsg());