FileSystemPath: Add a has_extension() helper.

This code:

    if (path.string().to_lowercase().ends_with(".foo"))

Can now be written as:

    if (path.has_extension(".foo"))
This commit is contained in:
Andreas Kling 2019-05-26 22:33:30 +02:00
parent 6ac8aab941
commit 5ba2dba392
Notes: sideshowbarker 2024-07-19 13:55:34 +09:00
2 changed files with 8 additions and 0 deletions

View File

@ -45,5 +45,11 @@ bool FileSystemPath::canonicalize(bool resolve_symbolic_links)
return true; return true;
} }
bool FileSystemPath::has_extension(StringView extension) const
{
// FIXME: This is inefficient, expand StringView with enough functionality that we don't need to copy strings here.
String extension_string = extension;
return m_string.to_lowercase().ends_with(extension_string.to_lowercase());
} }
}

View File

@ -16,6 +16,8 @@ public:
const Vector<String>& parts() const { return m_parts; } const Vector<String>& parts() const { return m_parts; }
bool has_extension(StringView) const;
private: private:
bool canonicalize(bool resolve_symbolic_links = false); bool canonicalize(bool resolve_symbolic_links = false);