Reduce branching and duplicated lines in limit_autosave_count

This commit is contained in:
Hielke Morsink 2020-10-17 16:18:23 +02:00
parent d287653cb5
commit 085a0e9452
1 changed files with 10 additions and 18 deletions

View File

@ -686,20 +686,19 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL
size_t autosavesCount = 0;
size_t numAutosavesToDelete = 0;
utf8 filter[MAX_PATH];
char const* folderDirectory = "save";
char const* fileFilter = "autosave_*.sv6";
if (processLandscapeFolder)
{
platform_get_user_directory(filter, "landscape", sizeof(filter));
safe_strcat_path(filter, "autosave", sizeof(filter));
safe_strcat_path(filter, "autosave_*.sc6", sizeof(filter));
}
else
{
platform_get_user_directory(filter, "save", sizeof(filter));
safe_strcat_path(filter, "autosave", sizeof(filter));
safe_strcat_path(filter, "autosave_*.sv6", sizeof(filter));
folderDirectory = "landscape";
fileFilter = "autosave_*.sc6";
}
utf8 filter[MAX_PATH];
safe_strcpy(filter, folderDirectory, sizeof(filter));
safe_strcat_path(filter, "autosave", sizeof(filter));
safe_strcat_path(filter, fileFilter, sizeof(filter));
// At first, count how many autosaves there are
{
auto scanner = std::unique_ptr<IFileScanner>(Path::ScanDirectory(filter, false));
@ -723,14 +722,7 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL
autosaveFiles[i].resize(MAX_PATH, 0);
if (scanner->Next())
{
if (processLandscapeFolder)
{
platform_get_user_directory(autosaveFiles[i].data(), "landscape", sizeof(utf8) * MAX_PATH);
}
else
{
platform_get_user_directory(autosaveFiles[i].data(), "save", sizeof(utf8) * MAX_PATH);
}
platform_get_user_directory(autosaveFiles[i].data(), folderDirectory, sizeof(utf8) * MAX_PATH);
safe_strcat_path(autosaveFiles[i].data(), "autosave", sizeof(utf8) * MAX_PATH);
safe_strcat_path(autosaveFiles[i].data(), scanner->GetPathRelative(), sizeof(utf8) * MAX_PATH);
}