diff options
| author | Marcel Braun <marcel.braun@ost.ch> | 2026-05-16 17:04:15 +0200 |
|---|---|---|
| committer | Marcel Braun <marcel.braun@ost.ch> | 2026-05-16 17:04:15 +0200 |
| commit | 2ac578a90aaf5076f9b725b8a1a2c139075b9528 (patch) | |
| tree | bb8bf76908079f53daa532486d8c003bed969894 /kernel/src/filesystem/open_file_table.cpp | |
| parent | 106e9731aaf856f940592c02953e49a496555822 (diff) | |
| parent | 3d8ea5b1b833f39b77f0591fb2a301842ed5eb1c (diff) | |
| download | kernel-2ac578a90aaf5076f9b725b8a1a2c139075b9528.tar.xz kernel-2ac578a90aaf5076f9b725b8a1a2c139075b9528.zip | |
Merge branch 'refactoring' into 'develop-BA-FS26'
refactoring
See merge request teachos/kernel!38
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 |
