aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/file-system.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/file-system.hh')
-rw-r--r--src/libutil/file-system.hh16
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