aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/open_file_table.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-05-16 16:12:36 +0200
committerLukas Oesch <lukasoesch20@gmail.com>2026-05-16 16:12:36 +0200
commit3b2f36d242eb895fd893ec7a674ff608f44f69ac (patch)
tree86d5515593b5e4dd937b20a626f9cf3a0d428cdd /kernel/src/filesystem/open_file_table.cpp
parent106e9731aaf856f940592c02953e49a496555822 (diff)
downloadkernel-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.cpp31
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