mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-04 07:36:50 +00:00
This adds KLexicalPath, which are a few static functions which aim to mostly emulate AK::LexicalPath. They are however constrained to work with absolute paths only, containing no '.' or '..' path segments and no consecutive slashes. This way, it is possible to avoid use StringView for the return values and thus avoid allocating new String objects. As explained above, the functions are currently very strict about the allowed input paths. This seems to not be a problem currently. Since the functions VERIFY this, potential bugs caused by this will become immediately obvious.
20 lines
392 B
C++
20 lines
392 B
C++
/*
|
|
* Copyright (c) 2021, Max Wipfli <max.wipfli@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/StringView.h>
|
|
|
|
namespace Kernel::KLexicalPath {
|
|
|
|
bool is_absolute(StringView const&);
|
|
bool is_canonical(StringView const&);
|
|
StringView basename(StringView const&);
|
|
StringView dirname(StringView const&);
|
|
Vector<StringView> parts(StringView const&);
|
|
|
|
}
|