| 103 | } |
| 104 | |
| 105 | void File::backupFileInSequence(String const& initialFile, String const& targetFile, unsigned maximumBackups, String const& backupExtensionPrefix) { |
| 106 | for (unsigned i = maximumBackups; i > 0; --i) { |
| 107 | bool initial = i == 1; |
| 108 | String const& sourceFile = initial ? initialFile : targetFile; |
| 109 | String curExtension = initial ? "" : strf("{}{}", backupExtensionPrefix, i - 1); |
| 110 | String nextExtension = strf("{}{}", backupExtensionPrefix, i); |
| 111 | |
| 112 | if (File::isFile(sourceFile + curExtension)) |
| 113 | File::copy(sourceFile + curExtension, targetFile + nextExtension); |
| 114 | } |
| 115 | } |
| 116 | |
| 117 | void File::backupFileInSequence(String const& targetFile, unsigned maximumBackups, String const& backupExtensionPrefix) { |
| 118 | backupFileInSequence(targetFile, targetFile, maximumBackups, backupExtensionPrefix); |