[ Version ( since = "2.58" ) ]
[ CCode ( cname = "g_canonicalize_filename" ) ]
public string canonicalize (string filename, string? relative_to = null)

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 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.



the name of the file


the relative directory, or null to use the current working directory


a newly allocated string with the canonical file path

Namespace: GLib.Filename
Package: glib-2.0