diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-16 16:12:36 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-16 16:12:36 +0200 |
| commit | 3b2f36d242eb895fd893ec7a674ff608f44f69ac (patch) | |
| tree | 86d5515593b5e4dd937b20a626f9cf3a0d428cdd /kernel/src/filesystem/open_file_table.cpp | |
| parent | 106e9731aaf856f940592c02953e49a496555822 (diff) | |
| download | kernel-3b2f36d242eb895fd893ec7a674ff608f44f69ac.tar.xz kernel-3b2f36d242eb895fd893ec7a674ff608f44f69ac.zip | |
refactoring
Diffstat (limited to 'kernel/src/filesystem/open_file_table.cpp')
| -rw-r--r-- | kernel/src/filesystem/open_file_table.cpp | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/kernel/src/filesystem/open_file_table.cpp b/kernel/src/filesystem/open_file_table.cpp index e47d229..4d52d36 100644 --- a/kernel/src/filesystem/open_file_table.cpp +++ b/kernel/src/filesystem/open_file_table.cpp @@ -9,6 +9,7 @@ #include <algorithm> #include <cstddef> #include <optional> +#include <unistd.h> namespace { @@ -37,7 +38,7 @@ namespace kernel::filesystem return *global_open_file_table; } - auto open_file_table::add_file(kstd::shared_ptr<open_file_descriptor> const & file_descriptor) -> int + auto open_file_table::add_file(kstd::shared_ptr<open_file_descriptor> const & file_descriptor) -> ssize_t { if (!file_descriptor) { @@ -48,43 +49,31 @@ namespace kernel::filesystem if (it != m_open_files.end()) { *it = file_descriptor; - return static_cast<int>(it - m_open_files.begin()); + return it - m_open_files.begin(); } m_open_files.push_back(file_descriptor); - return static_cast<int>(m_open_files.size() - 1); + return m_open_files.size() - 1; } - auto open_file_table::get_file(int fd) const -> kstd::shared_ptr<open_file_descriptor> + auto open_file_table::file(size_t fd) const -> kstd::shared_ptr<open_file_descriptor> { - if (fd < 0) + if (fd >= m_open_files.size()) { return nullptr; } - auto const index = static_cast<size_t>(fd); - if (index >= m_open_files.size()) - { - return nullptr; - } - - return m_open_files.at(index); + return m_open_files.at(fd); } - auto open_file_table::remove_file(int fd) -> int + auto open_file_table::remove_file(size_t fd) -> ssize_t { - if (fd < 0) - { - return -1; - } - - auto const index = static_cast<size_t>(fd); - if (index >= m_open_files.size()) + if (fd >= m_open_files.size()) { return -1; } - m_open_files.at(index) = nullptr; + m_open_files.at(fd) = nullptr; return 0; } } // namespace kernel::filesystem |
