diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-04-30 18:01:23 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-04-30 18:01:23 +0200 |
| commit | 9fc9d3b011db40027e8c1220c535007a786d03ff (patch) | |
| tree | cef453f4bc0d8cdc02285b2f04388daa2fe007a9 | |
| parent | c15bae85ebffbb137647c48fccd219d334a5f8ea (diff) | |
| download | kernel-9fc9d3b011db40027e8c1220c535007a786d03ff.tar.xz kernel-9fc9d3b011db40027e8c1220c535007a786d03ff.zip | |
build: upgrade to GCC 16
| -rw-r--r-- | .devcontainer/x86-64/devcontainer.json | 2 | ||||
| -rw-r--r-- | kernel/src/devices/storage/management.cpp | 15 |
2 files changed, 10 insertions, 7 deletions
diff --git a/.devcontainer/x86-64/devcontainer.json b/.devcontainer/x86-64/devcontainer.json index 775da72..18e6419 100644 --- a/.devcontainer/x86-64/devcontainer.json +++ b/.devcontainer/x86-64/devcontainer.json @@ -1,6 +1,6 @@ { "name": "TeachOS on x86-64", - "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-4", + "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:16.1.0-1", "features": { "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers/features/git-lfs:1": {}, 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> |
