aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-04-30 18:01:23 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-04-30 18:01:23 +0200
commit9fc9d3b011db40027e8c1220c535007a786d03ff (patch)
treecef453f4bc0d8cdc02285b2f04388daa2fe007a9 /kernel
parentc15bae85ebffbb137647c48fccd219d334a5f8ea (diff)
downloadkernel-9fc9d3b011db40027e8c1220c535007a786d03ff.tar.xz
kernel-9fc9d3b011db40027e8c1220c535007a786d03ff.zip
build: upgrade to GCC 16
Diffstat (limited to 'kernel')
-rw-r--r--kernel/src/devices/storage/management.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/kernel/src/devices/storage/management.cpp b/kernel/src/devices/storage/management.cpp
index 7361cd5..1f2acba 100644
--- a/kernel/src/devices/storage/management.cpp
+++ b/kernel/src/devices/storage/management.cpp
@@ -13,6 +13,7 @@
#include <algorithm>
#include <cstddef>
#include <optional>
+#include <ranges>
namespace
{
@@ -63,18 +64,20 @@ namespace kernel::devices::storage
auto management::device_by_major_minor(size_t major, size_t minor) -> kstd::shared_ptr<kapi::devices::device>
{
- kstd::shared_ptr<kapi::devices::device> found = nullptr;
-
- std::ranges::find_if(m_controllers, [&](auto const & controller) {
+ auto found = std::ranges::find_if(m_controllers, [=](auto const & controller) {
if (controller != nullptr && controller->major() == major)
{
- found = controller->device_by_minor(minor);
- return found != nullptr;
+ return controller->device_by_minor(minor) != nullptr;
}
return false;
});
- return found;
+ if (found != std::ranges::cend(m_controllers))
+ {
+ return found->get()->device_by_minor(minor);
+ }
+
+ return nullptr;
}
auto management::determine_boot_device() -> kstd::shared_ptr<kapi::devices::device>