August 13, 2005 REALPATH 3

### NAME

realpath - returns the canonicalized absolute pathname

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

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