path-util: add flavour of path_startswith() that leaves a leading slash in place

This commit is contained in:
Lennart Poettering
2025-05-23 06:50:30 +02:00
parent 738a47fd98
commit ee19edbb9f
5 changed files with 54 additions and 15 deletions
+8 -2
View File
@@ -43,9 +43,15 @@ int safe_getcwd(char **ret);
int path_make_absolute_cwd(const char *p, char **ret);
int path_make_relative(const char *from, const char *to, char **ret);
int path_make_relative_parent(const char *from_child, const char *to, char **ret);
char* path_startswith_full(const char *path, const char *prefix, bool accept_dot_dot) _pure_;
typedef enum PathStartWithFlags {
PATH_STARTSWITH_ACCEPT_DOT_DOT = 1U << 0,
PATH_STARTSWITH_RETURN_LEADING_SLASH = 1U << 1,
} PathStartWithFlags;
char* path_startswith_full(const char *path, const char *prefix, PathStartWithFlags flags) _pure_;
static inline char* path_startswith(const char *path, const char *prefix) {
return path_startswith_full(path, prefix, true);
return path_startswith_full(path, prefix, PATH_STARTSWITH_ACCEPT_DOT_DOT);
}
int path_compare(const char *a, const char *b) _pure_;