Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/core/StarFile.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-08-02 22:56:36 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-08-02 22:56:36 +1000
commit6abad768a6728a37706348cadbc147e7975666e5 (patch)
tree9bf96786bb99204ab31a2fe0b360e710d2df4011 /source/core/StarFile.cpp
parentb2cabc75672f9d818ac7db7537d302916238adad (diff)
Backups are now placed in their own directory
Diffstat (limited to 'source/core/StarFile.cpp')
-rw-r--r--source/core/StarFile.cpp14
1 files changed, 10 insertions, 4 deletions
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;