char *
realpath(
const char *pathname
, char resolvedname[MAXPATHLEN]
)
)
function resolves all symbolic links, extra
``/''
characters and references to
/./
and
/../
in
pathname
,
and copies the resulting absolute pathname into
the memory referenced by
resolvedname
.
The
resolvedname
argument
must
refer to a buffer capable of storing at least
MAXPATHLEN
characters.
The
realpath()
function will resolve both absolute and relative paths
and return the absolute pathname corresponding to
pathname
.
)
function returns
resolvedname
on success.
If an error occurs,
realpath(
)
returns
NULL
,
and
resolvedname
contains the pathname which caused the problem.
)
may fail and set the external variable
errno
for any of the errors specified for the library functions
chdir(2),
close(2),
fchdir(2),
lstat(2),
open(2),
readlink(2)
and
getcwd(3).
)
function call first appeared in
4.4BSD.
)
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
resolvedname
when given a relative
pathname
.