diff options
Diffstat (limited to 'src/libutil/file-system.hh')
-rw-r--r-- | src/libutil/file-system.hh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libutil/file-system.hh b/src/libutil/file-system.hh index 636c13f13..e49323e84 100644 --- a/src/libutil/file-system.hh +++ b/src/libutil/file-system.hh @@ -47,6 +47,22 @@ Path absPath(Path path, Path canonPath(PathView path, bool resolveSymlinks = false); /** + * Resolves a file path to a fully absolute path with no symbolic links. + * + * @param path The path to resolve. If it is relative, it will be resolved relative + * to the process's current directory. + * + * @note This is not a pure function; it performs this resolution by querying + * the filesystem. + * + * @note @ref path sadly must be (a reference to) an owned string, as std::string_view + * are not valid C strings... + * + * @return The fully resolved path. + */ +Path realPath(Path const & path); + +/** * Change the permissions of a path * Not called `chmod` as it shadows and could be confused with * `int chmod(char *, mode_t)`, which does not handle errors |