mirror of
https://github.com/matrix-construct/construct
synced 2024-05-20 03:43:47 +02:00
ircd::fs: Additional convenience tools for path suite.
This commit is contained in:
parent
561be9973a
commit
d95718ed6f
|
@ -67,6 +67,10 @@ namespace ircd::fs
|
||||||
string_view canonical(const mutable_buffer &, const string_view &root, const string_view &path);
|
string_view canonical(const mutable_buffer &, const string_view &root, const string_view &path);
|
||||||
string_view relative(const mutable_buffer &, const string_view &root, const string_view &path);
|
string_view relative(const mutable_buffer &, const string_view &root, const string_view &path);
|
||||||
string_view absolute(const mutable_buffer &, const string_view &root, const string_view &path);
|
string_view absolute(const mutable_buffer &, const string_view &root, const string_view &path);
|
||||||
|
|
||||||
|
bool is_extension(const string_view &path, const string_view &str);
|
||||||
|
bool is_filename(const string_view &path, const string_view &str);
|
||||||
|
bool is_parent(const string_view &path, const string_view &str);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Configuration items storing the base paths used at runtime for program
|
/// Configuration items storing the base paths used at runtime for program
|
||||||
|
|
|
@ -42,7 +42,7 @@ ircd::fs::PATH_MAX_LEN
|
||||||
namespace ircd::fs
|
namespace ircd::fs
|
||||||
{
|
{
|
||||||
static thread_local char _name_scratch[2][NAME_MAX_LEN];
|
static thread_local char _name_scratch[2][NAME_MAX_LEN];
|
||||||
static thread_local char _path_scratch[2][PATH_MAX_LEN];
|
static thread_local char _path_scratch[3][PATH_MAX_LEN];
|
||||||
}
|
}
|
||||||
|
|
||||||
// External mutable_buffer to the scratch
|
// External mutable_buffer to the scratch
|
||||||
|
@ -233,6 +233,27 @@ ircd::fs::base::db
|
||||||
// tools
|
// tools
|
||||||
//
|
//
|
||||||
|
|
||||||
|
bool
|
||||||
|
ircd::fs::is_parent(const string_view &path,
|
||||||
|
const string_view &str)
|
||||||
|
{
|
||||||
|
return parent(_path_scratch[2], path) == str;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
ircd::fs::is_filename(const string_view &path,
|
||||||
|
const string_view &str)
|
||||||
|
{
|
||||||
|
return filename(_path_scratch[2], path) == str;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
ircd::fs::is_extension(const string_view &path,
|
||||||
|
const string_view &str)
|
||||||
|
{
|
||||||
|
return extension(_path_scratch[2], path) == str;
|
||||||
|
}
|
||||||
|
|
||||||
ircd::string_view
|
ircd::string_view
|
||||||
ircd::fs::canonical(const mutable_buffer &buf,
|
ircd::fs::canonical(const mutable_buffer &buf,
|
||||||
const string_view &p)
|
const string_view &p)
|
||||||
|
|
Loading…
Reference in a new issue