Util.canonicalizeFilename

Gets the canonical file name from @filename. All triple slashes are turned into single slashes, and all .. and .s resolved against @relative_to.

Symlinks are not followed, and the returned path is guaranteed to be absolute.

If @filename is an absolute path, @relative_to is ignored. Otherwise, @relative_to will be prepended to @filename to make it absolute. @relative_to must be an absolute path, or %NULL. If @relative_to is %NULL, it'll fallback to g_get_current_dir().

This function never fails, and will canonicalize file paths even if they don't exist.

No file system I/O is done.

struct Util
static
string
canonicalizeFilename
(
string filename
,
string relativeTo
)

Parameters

filename string

the name of the file

relativeTo string

the relative directory, or %NULL to use the current working directory

Return Value

Type: string

a newly allocated string with the canonical file path

Meta

Since

2.58