From 6abad768a6728a37706348cadbc147e7975666e5 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Wed, 2 Aug 2023 22:56:36 +1000 Subject: Backups are now placed in their own directory --- source/core/StarFile.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'source/core/StarFile.cpp') diff --git a/source/core/StarFile.cpp b/source/core/StarFile.cpp index ec09ff7..873a10e 100644 --- a/source/core/StarFile.cpp +++ b/source/core/StarFile.cpp @@ -102,16 +102,22 @@ void File::overwriteFileWithRename(String const& data, String const& filename, S overwriteFileWithRename(data.utf8Ptr(), data.utf8Size(), filename, newSuffix); } -void File::backupFileInSequence(String const& targetFile, unsigned maximumBackups, String const& backupExtensionPrefix) { +void File::backupFileInSequence(String const& initialFile, String const& targetFile, unsigned maximumBackups, String const& backupExtensionPrefix) { for (unsigned i = maximumBackups; i > 0; --i) { - String curExtension = i == 1 ? "" : strf("{}{}", backupExtensionPrefix, i - 1); + bool initial = i == 1; + String const& sourceFile = initial ? initialFile : targetFile; + String curExtension = initial ? "" : strf("{}{}", backupExtensionPrefix, i - 1); String nextExtension = strf("{}{}", backupExtensionPrefix, i); - if (File::isFile(targetFile + curExtension)) - File::copy(targetFile + curExtension, targetFile + nextExtension); + if (File::isFile(sourceFile + curExtension)) + File::copy(sourceFile + curExtension, targetFile + nextExtension); } } +void File::backupFileInSequence(String const& targetFile, unsigned maximumBackups, String const& backupExtensionPrefix) { + backupFileInSequence(targetFile, targetFile, maximumBackups, backupExtensionPrefix); +} + File::File() : IODevice(IOMode::Closed) { m_file = 0; -- cgit v1.2.3