diff options
Diffstat (limited to 'kernel/kapi/filesystem.cpp')
| -rw-r--r-- | kernel/kapi/filesystem.cpp | 7 |
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); }); } |
