From 0f660aee8b44f321a9000f64a531d0838df9dd06 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Sun, 30 Apr 2023 12:13:20 +0200 Subject: [PATCH] Construct 'fs::path' only once --- r5dev/pluginsystem/pluginsystem.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/r5dev/pluginsystem/pluginsystem.cpp b/r5dev/pluginsystem/pluginsystem.cpp index c71e597b..63c91773 100644 --- a/r5dev/pluginsystem/pluginsystem.cpp +++ b/r5dev/pluginsystem/pluginsystem.cpp @@ -15,26 +15,31 @@ //----------------------------------------------------------------------------- void CPluginSystem::PluginSystem_Init() { - CreateDirectories("bin\\x64_retail\\plugins\\"); + const fs::path path("bin\\x64_retail\\plugins\\"); + const string pathString(path.u8string()); - if (fs::is_directory("bin\\x64_retail\\plugins\\")) + CreateDirectories(pathString); + if (fs::is_directory(path)) { - for (auto& it : fs::directory_iterator("bin\\x64_retail\\plugins\\")) + for (auto& it : fs::directory_iterator(path)) { if (!fs::is_regular_file(it)) continue; - if (auto path = it.path(); path.has_filename() && path.has_extension() && path.extension().compare(".dll") == 0) + if (auto path = it.path(); + path.has_filename() && + path.has_extension() && + path.extension().compare(".dll") == 0) { bool addInstance = true; for (auto& inst : pluginInstances) { - if (inst.m_svPluginFullPath.compare(path.u8string()) == 0) + if (inst.m_svPluginFullPath.compare(pathString) == 0) addInstance = false; } if (addInstance) - pluginInstances.push_back(PluginInstance_t(path.filename().u8string(), path.u8string())); + pluginInstances.push_back(PluginInstance_t(path.filename().u8string(), pathString)); } } }