LibCore: Add SkipParentAndBaseDir flag in DirIterator

Sometimes we may want to iterate over dotfiles but not include the
parent or base directory
This commit is contained in:
Shannon Booth 2020-02-15 13:06:08 +13:00 committed by Andreas Kling
parent 3879d75219
commit 6764b77788
Notes: sideshowbarker 2024-07-19 09:19:17 +09:00
2 changed files with 4 additions and 0 deletions

View file

@ -67,6 +67,9 @@ bool DirIterator::advance_next()
if (m_flags & Flags::SkipDots && m_next.starts_with('.'))
continue;
if (m_flags & Flags::SkipParentAndBaseDir && (m_next == "." || m_next == ".."))
continue;
return !m_next.is_empty();
}
}

View file

@ -36,6 +36,7 @@ public:
enum Flags {
NoFlags = 0x0,
SkipDots = 0x1,
SkipParentAndBaseDir = 0x2,
};
DirIterator(const StringView& path, Flags = Flags::NoFlags);