NAME
realpath
—
returns the canonicalized absolute
pathname
SYNOPSIS
#include
<limits.h>
#include <stdlib.h>
char *
realpath
(const
char *pathname, char
*resolved);
DESCRIPTION
The
realpath
()
function resolves all symbolic links, extra “/” characters and
references to /./ and /../
in pathname, and copies the resulting absolute
pathname into the memory referenced by resolved. The
resolved argument
must refer
to a buffer capable of storing at least PATH_MAX
characters, or be NULL
.
The
realpath
()
function will resolve both absolute and relative paths and return the
absolute pathname corresponding to pathname. All but
the last component of pathname must exist when
realpath
() is called.
RETURN VALUES
The realpath
() function returns
resolved on success. If resolved
is NULL
and no error occurred, then
realpath
() returns a NUL-terminated string in a
newly allocated buffer. If an error occurs,
realpath
() returns NULL
and
the contents of resolved are undefined.
ERRORS
The function realpath
() may fail and set
the external variable errno for any of the errors
specified for the library functions
lstat(2),
readlink(2), and
getcwd(3).
SEE ALSO
STANDARDS
The realpath
() function conforms to
IEEE Std 1003.1-2008 (“POSIX.1”).
HISTORY
The realpath
() function call first
appeared in 4.4BSD.
CAVEATS
This implementation of realpath
() differs
slightly from the Solaris implementation. The 4.4BSD
version always returns absolute pathnames, whereas the Solaris
implementation will, under certain circumstances, return a relative
resolved when given a relative
pathname.