diff options
Diffstat (limited to 'kernel/filesystem/src/open_file_description.cpp')
| -rw-r--r-- | kernel/filesystem/src/open_file_description.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/kernel/filesystem/src/open_file_description.cpp b/kernel/filesystem/src/open_file_description.cpp index d483746..9ebf67d 100644 --- a/kernel/filesystem/src/open_file_description.cpp +++ b/kernel/filesystem/src/open_file_description.cpp @@ -2,18 +2,25 @@ #include "filesystem/file.hpp" +#include <kstd/memory> +#include <kstd/os/error.hpp> + #include <cstddef> namespace filesystem { - open_file_description::open_file_description(file * file) + open_file_description::open_file_description(kstd::shared_ptr<file> file) : m_file(file) , m_offset(0) - {} + { + if (!file) + { + kstd::os::panic("[FILESYSTEM] open_file_description constructed with null file."); + } + } auto open_file_description::read(void * buffer, size_t size) -> size_t { - // TODO BA-FS26 nullptr check auto read_bytes = m_file->read(buffer, m_offset, size); m_offset += read_bytes; return read_bytes; @@ -21,7 +28,6 @@ namespace filesystem auto open_file_description::write(void const * buffer, size_t size) -> size_t { - // TODO BA-FS26 nullptr check auto written_bytes = m_file->write(buffer, m_offset, size); m_offset += written_bytes; return written_bytes; |
