diff options
-rw-r--r-- | src/fs/Charset.cxx | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/fs/Charset.cxx b/src/fs/Charset.cxx index cbfe6ea3e..5532a2cb6 100644 --- a/src/fs/Charset.cxx +++ b/src/fs/Charset.cxx @@ -73,7 +73,8 @@ GetFSCharset() #endif } -static inline void FixSeparators(std::string &s) +static inline std::string && +FixSeparators(std::string &&s) { #ifdef WIN32 // For whatever reason GCC can't convert constexpr to value reference. @@ -81,9 +82,8 @@ static inline void FixSeparators(std::string &s) auto from = PathTraitsFS::SEPARATOR; auto to = PathTraitsUTF8::SEPARATOR; std::replace(s.begin(), s.end(), from, to); -#else - (void)s; #endif + return std::move(s); } std::string @@ -95,17 +95,12 @@ PathToUTF8(const char *path_fs) #endif #ifdef HAVE_FS_CHARSET - if (fs_converter == nullptr) { + if (fs_converter == nullptr) #endif - auto result = std::string(path_fs); - FixSeparators(result); - return result; + return FixSeparators(path_fs); #ifdef HAVE_FS_CHARSET - } - auto result_path = fs_converter->ToUTF8(path_fs); - FixSeparators(result_path); - return result_path; + return FixSeparators(fs_converter->ToUTF8(path_fs)); #endif } |