realpath(3C) — C LIBRARY FUNCTIONS
NAME
realpath − returns the real file name
SYNOPSIS
#include <stdlib.h>
#include <sys/param.h>
char ∗realpath (char ∗ file_name, char ∗ resolved_name);
DESCRIPTION
realpath resolves all links and references to “.” and “..” in file_name and stores it in resolved_name.
It can handle both relative and absolute path names. For absolute path names and the relative names whose resolved name cannot be expressed relatively (for example, ../../reldir), it returns the resolved absolute name. For the other relative path names, it returns the resolved relative name.
resolved_name must be big enough (MAXPATHLEN) to contain the fully resolved path name.
SEE ALSO
DIAGNOSTICS
If there is no error, realpath returns a pointer to the resolved_name. Otherwise it returns a null pointer and places the name of the offending file in resolved_name. The global variable errno is set to indicate the error.
NOTES
realpath operates on null-terminated strings.
One should have execute permission on all the directories in the given and the resolved path.
realpath may fail to return to the current directory if an error occurs.
— C Programming Language Utilities