REALPATH(3) | NetBSD Library Functions Manual | REALPATH(3)

# NAME

realpath — returns the canonicalized absolute pathname

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

#include <sys/param.h>
#include <stdlib.h>

char *
realpath(const char *pathname, char resolvedname[MAXPATHLEN]);

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

# RETURN VALUES

The realpath() function returns resolvedname on success. If an error occurs, realpath() returns NULL, and resolvedname contains the pathname which caused the problem.

# ERRORS

The function realpath() 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).

# SEE ALSO

getcwd(3)

# HISTORY

The realpath() function call first appeared in 4.4BSD.

# BUGS

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 resolvedname when given a relative pathname.

August 13, 2005 | NetBSD 5.99