diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-07-27 16:10:38 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-07-27 16:10:38 +0200 |
| commit | dca8353027526b9e522ad8be169d9763e447b08b (patch) | |
| tree | 45614de8059a2a67a853c8407dbbd6073f902e40 /kernel/kapi/devices/device.cpp | |
| parent | 1cad7524b291fd7a6f77e01bb90e763e6b557620 (diff) | |
| download | kernel-dca8353027526b9e522ad8be169d9763e447b08b.tar.xz kernel-dca8353027526b9e522ad8be169d9763e447b08b.zip | |
kapi: fix device resource lookup
Diffstat (limited to 'kernel/kapi/devices/device.cpp')
| -rw-r--r-- | kernel/kapi/devices/device.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/kapi/devices/device.cpp b/kernel/kapi/devices/device.cpp index a05a1653..237183c9 100644 --- a/kernel/kapi/devices/device.cpp +++ b/kernel/kapi/devices/device.cpp @@ -93,11 +93,10 @@ namespace kapi::devices { auto guard = kstd::lock_guard{m_lock}; - auto numbered_resources = std::views::enumerate(m_resources); - auto found = std::ranges::find_if(numbered_resources, [&](auto entry) { - auto const & [number, resource] = entry; - return resource.type == type && static_cast<std::size_t>(number) == index; - }); + auto filtered = std::views::filter(m_resources, [&](auto e) { return e.type == type; }); + auto numbered_resources = std::views::enumerate(filtered); + auto found = std::ranges::find_if( + numbered_resources, [&](auto entry) { return static_cast<std::size_t>(std::get<0>(entry)) == index; }); if (found != numbered_resources.end()) { |
