diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-02 14:23:19 +0200 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-05-05 14:38:52 +0200 |
| commit | d3c8b74020bfeee554394b7e41c58d5ddda6f396 (patch) | |
| tree | 0633cde1c0b27b6335c3077d4a72edfb0b9d626a /kernel/src/filesystem/dentry.cpp | |
| parent | 46f3992c10e960d33dbb314dad597650902686da (diff) | |
| download | kernel-d3c8b74020bfeee554394b7e41c58d5ddda6f396.tar.xz kernel-d3c8b74020bfeee554394b7e41c58d5ddda6f396.zip | |
refactoring
Diffstat (limited to 'kernel/src/filesystem/dentry.cpp')
| -rw-r--r-- | kernel/src/filesystem/dentry.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/src/filesystem/dentry.cpp b/kernel/src/filesystem/dentry.cpp index 572dd82..72500fd 100644 --- a/kernel/src/filesystem/dentry.cpp +++ b/kernel/src/filesystem/dentry.cpp @@ -5,6 +5,7 @@ #include <kapi/system.hpp> #include <kstd/memory> +#include <kstd/string> #include <algorithm> #include <cstdint> @@ -38,6 +39,22 @@ namespace kernel::filesystem return m_name.view(); } + // TODO BA-FS26 fix warning (do not use recursion) + auto dentry::get_full_path() const -> kstd::string + { + if (m_parent) + { + auto parent_path = m_parent->get_full_path(); + if (parent_path != "/") + { + parent_path += '/'; + } + return parent_path + m_name.view(); + } + + return m_name.empty() ? "/" : m_name.view(); + } + auto dentry::add_child(kstd::shared_ptr<dentry> const & child) -> void { m_children.push_back(child); |
