aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/filesystem.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-14 18:39:45 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-14 18:39:45 +0200
commit55adee63740c489c7fe6e639d5e35d0bc46f1f8c (patch)
treec1432254772bc667d1bccc88f83546d142370d33 /kernel/kapi/filesystem.cpp
parentaf017fa7983e6730b2f8fb6acee221dd39c02b7a (diff)
downloadkernel-55adee63740c489c7fe6e639d5e35d0bc46f1f8c.tar.xz
kernel-55adee63740c489c7fe6e639d5e35d0bc46f1f8c.zip
kernel/vfs: expand error_code integration
Diffstat (limited to 'kernel/kapi/filesystem.cpp')
-rw-r--r--kernel/kapi/filesystem.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/kapi/filesystem.cpp b/kernel/kapi/filesystem.cpp
index a7c8e403..efde1336 100644
--- a/kernel/kapi/filesystem.cpp
+++ b/kernel/kapi/filesystem.cpp
@@ -37,20 +37,19 @@ namespace kapi::filesystem
.file(file_descriptor)
.transform([](auto file) { return file->get_dentry()->absolute_path(); })
.and_then([](auto path) { return kernel::filesystem::vfs::get().close(path); })
- .and_then([=]() { return kernel::filesystem::open_file_table::get().remove_file(file_descriptor); })
- .transform([](auto) { return; });
+ .and_then([=]() { return kernel::filesystem::open_file_table::get().remove_file(file_descriptor); });
}
auto read(size_t file_descriptor, void * buffer, size_t size) -> std::expected<std::size_t, kstd::error_code>
{
- return kernel::filesystem::open_file_table::get().file(file_descriptor).transform([=](auto descriptor) {
+ return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) {
return descriptor->read(buffer, size);
});
}
auto write(size_t file_descriptor, void const * buffer, size_t size) -> std::expected<std::size_t, kstd::error_code>
{
- return kernel::filesystem::open_file_table::get().file(file_descriptor).transform([=](auto descriptor) {
+ return kernel::filesystem::open_file_table::get().file(file_descriptor).and_then([=](auto descriptor) {
return descriptor->write(buffer, size);
});
}