From b8647b94fc86f6e6c4bd55d4fe413869c2847af8 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 23 Mar 2024 21:17:15 +0100 Subject: [PATCH] Capture values by reference in lambdas --- source/config/WUPSConfigAPI.cpp | 18 +++++++++--------- source/utils/exports.cpp | 2 +- source/utils/storage/StorageUtils.cpp | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/source/config/WUPSConfigAPI.cpp b/source/config/WUPSConfigAPI.cpp index c521638..ead0e3c 100644 --- a/source/config/WUPSConfigAPI.cpp +++ b/source/config/WUPSConfigAPI.cpp @@ -28,7 +28,7 @@ namespace WUPSConfigAPIBackend { namespace Intern { WUPSConfig *GetConfigByHandle(WUPSConfigHandle handle) { std::lock_guard lock(sConfigsMutex); - auto itr = std::find_if(sConfigs.begin(), sConfigs.end(), [handle](auto &cur) { return handle == cur.get(); }); + auto itr = std::find_if(sConfigs.begin(), sConfigs.end(), [&handle](auto &cur) { return handle == cur.get(); }); if (itr == sConfigs.end()) { return nullptr; } @@ -36,7 +36,7 @@ namespace WUPSConfigAPIBackend { } std::unique_ptr PopConfigByHandle(WUPSConfigHandle handle) { - return pop_locked_first_if(sConfigsMutex, sConfigs, [handle](auto &cur) { return handle == cur.get(); }); + return pop_locked_first_if(sConfigsMutex, sConfigs, [&handle](auto &cur) { return handle == cur.get(); }); } static WUPSConfigCategory *GetCategoryByHandleRecursive(WUPSConfigCategory *category, WUPSConfigCategoryHandle handle) { @@ -54,7 +54,7 @@ namespace WUPSConfigAPIBackend { WUPSConfigCategory *GetCategoryByHandle(WUPSConfigCategoryHandle handle, bool checkRecursive) { std::lock_guard lock(sConfigCategoryMutex); - auto itr = std::find_if(sConfigCategories.begin(), sConfigCategories.end(), [handle](auto &cur) { return handle == cur.get(); }); + auto itr = std::find_if(sConfigCategories.begin(), sConfigCategories.end(), [&handle](auto &cur) { return handle == cur.get(); }); if (itr == sConfigCategories.end()) { if (checkRecursive) { std::lock_guard config_lock(sConfigsMutex); @@ -72,12 +72,12 @@ namespace WUPSConfigAPIBackend { std::unique_ptr PopCategoryByHandle(WUPSConfigCategoryHandle handle) { - return pop_locked_first_if(sConfigCategoryMutex, sConfigCategories, [handle](auto &cur) { return handle == cur.get(); }); + return pop_locked_first_if(sConfigCategoryMutex, sConfigCategories, [&handle](auto &cur) { return handle == cur.get(); }); } WUPSConfigItem *GetItemByHandle(WUPSConfigItemHandle handle) { std::lock_guard lock(sConfigItemsMutex); - auto itr = std::find_if(sConfigItems.begin(), sConfigItems.end(), [handle](auto &cur) { return handle == cur.get(); }); + auto itr = std::find_if(sConfigItems.begin(), sConfigItems.end(), [&handle](auto &cur) { return handle == cur.get(); }); if (itr == sConfigItems.end()) { return nullptr; } @@ -85,7 +85,7 @@ namespace WUPSConfigAPIBackend { } std::unique_ptr PopItemByHandle(WUPSConfigItemHandle handle) { - return pop_locked_first_if(sConfigItemsMutex, sConfigItems, [handle](auto &cur) { return handle == cur.get(); }); + return pop_locked_first_if(sConfigItemsMutex, sConfigItems, [&handle](auto &cur) { return handle == cur.get(); }); } WUPSConfigAPIStatus CreateConfig(const char *name, WUPSConfigHandle *out) { @@ -184,11 +184,11 @@ namespace WUPSConfigAPIBackend { return WUPSCONFIG_API_RESULT_INVALID_ARGUMENT; } - if (!remove_locked_first_if(sConfigCategoryMutex, sConfigCategories, [handle](auto &cur) { return handle == cur.get(); })) { + if (!remove_locked_first_if(sConfigCategoryMutex, sConfigCategories, [&handle](auto &cur) { return handle == cur.get(); })) { { // Ignore any attempts to destroy to create root item. std::lock_guard lock(sConfigsMutex); - if (std::any_of(sConfigs.begin(), sConfigs.end(), [handle](auto &cur) { return handle == cur.get(); })) { + if (std::any_of(sConfigs.begin(), sConfigs.end(), [&handle](auto &cur) { return handle == cur.get(); })) { return WUPSCONFIG_API_RESULT_SUCCESS; } } @@ -295,7 +295,7 @@ namespace WUPSConfigAPIBackend { return WUPSCONFIG_API_RESULT_INVALID_ARGUMENT; } - if (!remove_locked_first_if(sConfigItemsMutex, sConfigItems, [handle](auto &cur) { return cur.get() == handle; })) { + if (!remove_locked_first_if(sConfigItemsMutex, sConfigItems, [&handle](auto &cur) { return cur.get() == handle; })) { DEBUG_FUNCTION_LINE_WARN("Failed to destroy WUPSConfigItem (handle: \"%08X\")", handle); return WUPSCONFIG_API_RESULT_NOT_FOUND; } diff --git a/source/utils/exports.cpp b/source/utils/exports.cpp index 69a463c..4551069 100644 --- a/source/utils/exports.cpp +++ b/source/utils/exports.cpp @@ -47,7 +47,7 @@ extern "C" PluginBackendApiErrorType WUPSLoadAndLinkByDataHandle(const wups_back extern "C" PluginBackendApiErrorType WUPSDeletePluginData(const wups_backend_plugin_data_handle *plugin_data_handle_list, uint32_t plugin_data_handle_list_size) { if (plugin_data_handle_list != nullptr && plugin_data_handle_list_size != 0) { for (auto &handle : std::span(plugin_data_handle_list, plugin_data_handle_list_size)) { - if (!remove_locked_first_if(gLoadedDataMutex, gLoadedData, [handle](auto &cur) { return cur->getHandle() == handle; })) { + if (!remove_locked_first_if(gLoadedDataMutex, gLoadedData, [&handle](auto &cur) { return cur->getHandle() == handle; })) { DEBUG_FUNCTION_LINE_ERR("Failed to delete plugin data by handle %08X", handle); } } diff --git a/source/utils/storage/StorageUtils.cpp b/source/utils/storage/StorageUtils.cpp index 3ff2f21..f1a2ded 100644 --- a/source/utils/storage/StorageUtils.cpp +++ b/source/utils/storage/StorageUtils.cpp @@ -426,7 +426,7 @@ namespace StorageUtils { auto res = StorageUtils::Helper::WriteStorageToSD(root, false); // TODO: handle write error? - if (!remove_locked_first_if(gStorageMutex, gStorage, [root](auto &cur) { return cur.getHandle() == (uint32_t) root; })) { + if (!remove_locked_first_if(gStorageMutex, gStorage, [&root](auto &cur) { return cur.getHandle() == (uint32_t) root; })) { DEBUG_FUNCTION_LINE_WARN("Failed to close storage: Not opened (\"%08X\")", root); return WUPS_STORAGE_ERROR_NOT_FOUND; }