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.
| filename |
the name of the file |
| relative_to |
the relative directory, or null to use the current working directory |
|
a newly allocated string with the canonical file path |