Fix build error for gcc-14 35/312235/1 accepted/tizen/unified/20240611.122737 accepted/tizen/unified/dev/20240620.004917 accepted/tizen/unified/toolchain/20240610.172316 accepted/tizen/unified/x/20240610.222918 accepted/tizen/unified/x/asan/20240625.092511
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 5 Jun 2024 08:05:01 +0000 (17:05 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 5 Jun 2024 08:05:01 +0000 (17:05 +0900)
Change-Id: I5fbed7218e5d5dc1b5c550bad3ece5440f53ceba
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
tizen-cpp/app-core-cpp/app_control_manager_private.cc

index bf43e49..320ce68 100644 (file)
@@ -126,15 +126,15 @@ class Manager {
 
   int Remove(AppControlAction* h) {
     std::lock_guard<std::recursive_mutex> lock(GetMutex());
-    auto found =
-        std::find_if(actions_.begin(), actions_.end(),
-                     [h](const auto& action) { return action.get() == h; });
-    if (found == actions_.end()) {
-      _E("Failed to find action(%p)", h);
-      return -EINVAL;
+    auto iter = actions_.begin();
+    while (iter != actions_.end()) {
+      if (iter->get() == h) {
+        iter = actions_.erase(iter);
+        break;
+      }
+
+      iter++;
     }
-
-    actions_.erase(found);
     return 0;
   }
 
@@ -174,43 +174,36 @@ class Manager {
     if (info == nullptr) return nullptr;
 
     // Step 1
-    auto found =
-        std::find_if(infos_.begin(), infos_.end(),
-                     [&info](const std::shared_ptr<AppControlInfo>& a_info) {
-                       return a_info->Match(*info);
-                     });
-    if (found != infos_.end()) return *found;
+    for (auto& a_info : infos_) {
+      if (a_info->Match(*info)) return a_info;
+    }
 
     // Step 2
     if (info->GetUriScheme() != "NULL" && info->GetUriHost() != "NULL") {
       info->SetUri(info->GetUriScheme() + "://" + info->GetUriHost());
-      found = std::find_if(
-          infos_.begin(), infos_.end(),
-          [&info](const auto& a_info) { return a_info->Match(*info); });
-      if (found != infos_.end()) return *found;
+      for (auto& a_info : infos_) {
+        if (a_info->Match(*info)) return a_info;
+      }
     }
 
     // Step 3
     info->SetUri(info->GetUriScheme());
-    found = std::find_if(
-        infos_.begin(), infos_.end(),
-        [&info](const auto& a_info) { return a_info->Match(*info); });
-    if (found != infos_.end()) return *found;
+    for (auto& a_info : infos_) {
+      if (a_info->Match(*info)) return a_info;
+    }
 
     // Step 4
     info->SetUri("*");
-    found = std::find_if(
-        infos_.begin(), infos_.end(),
-        [&info](const auto& a_info) { return a_info->Match(*info); });
-    if (found != infos_.end()) return *found;
+    for (auto& a_info : infos_) {
+      if (a_info->Match(*info)) return a_info;
+    }
 
     // Step 5
-    if (info->GetUriScheme() == "file" && info->GetMime() != "NULL")  {
+    if (info->GetUriScheme() == "file" && info->GetMime() != "NULL") {
       info->SetUri("NULL");
-      found = std::find_if(
-          infos_.begin(), infos_.end(),
-          [&info](const auto& a_info) { return a_info->Match(*info); });
-      if (found != infos_.end()) return *found;
+      for (auto& a_info : infos_) {
+        if (a_info->Match(*info)) return a_info;
+      }
     }
 
     return nullptr;