diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2017-08-17 16:45:39 +0200 |
|---|---|---|
| committer | Léo Lam <leo@innovatetechnologi.es> | 2017-08-22 23:41:37 +0200 |
| commit | a641609857d95f6d9eea19abcd3a8b7d251172c5 (patch) | |
| tree | 95a689b086a70103775bc4f955fe44cef2212a97 /Source/Core/Common/FileUtil.cpp | |
| parent | 76bbfbb511a968831f134d5bdf4da636ab8f19a3 (diff) | |
WFSI: Implement patch install finalization.
Diffstat (limited to 'Source/Core/Common/FileUtil.cpp')
| -rw-r--r-- | Source/Core/Common/FileUtil.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp index 725d5134c5..84647fd4e9 100644 --- a/Source/Core/Common/FileUtil.cpp +++ b/Source/Core/Common/FileUtil.cpp @@ -521,7 +521,7 @@ bool DeleteDirRecursively(const std::string& directory) } // Create directory and copy contents (does not overwrite existing files) -void CopyDir(const std::string& source_path, const std::string& dest_path) +void CopyDir(const std::string& source_path, const std::string& dest_path, bool destructive) { if (source_path == dest_path) return; @@ -562,10 +562,16 @@ void CopyDir(const std::string& source_path, const std::string& dest_path) { if (!Exists(dest)) File::CreateFullPath(dest + DIR_SEP); - CopyDir(source, dest); + CopyDir(source, dest, destructive); + } + else if (!Exists(dest) && !destructive) + { + Copy(source, dest); + } + else + { + Rename(source, dest); } - else if (!Exists(dest)) - File::Copy(source, dest); #ifdef _WIN32 } while (FindNextFile(hFind, &ffd) != 0); FindClose(hFind); |
