resolvepath(2scl)resolvepath(2scl)NAMEresolvepath - resolve symbolic links within a supplied path name
LIBRARY
SCL Miscellaneous Library (libsolmisc.so, libsolmisc.a) SCL Utility
Library (libsolutil.so, libsolutil.a)
SYNOPSIS
#include <unistd.h>
int resolvepath(const char *path,
char *buf,
size_t bufsiz);
PARAMETERS
Specifies the path name that contains symbolic links to be resolved
Output buffer into which the resolved path name is written Size of out‐
put buffer in bytes
DESCRIPTION
The resolvepath() function removes all symbolic links from the path
name referenced by path and places the resultant path name at the loca‐
tion specified with buf. The resolved path name refers to the same file
or directory as the original path name.
All "." components are eliminated from the resultant path and every
non-leading ".." component is eliminated along with its preceding
directory component. If there are sufficient ".." components to reach
the root directory they are replaced by "/".
RETURN VALUES
If successful, the function returns the number of bytes stored at loca‐
tion buf, otherwise, it returns -1 with errno set to indicate the
error.
ERRORS
Read or search permission was denied for a component of path. The sup‐
plied parameters are NULL, or the value of bufsiz is less than or equal
to zero. An I/O error occurred while reading from the file system.
Too many symbolic links were encountered in resolving path. The path
parameter is longer than PATH_MAX or a component is longer than
NAME_MAX, or the size of the output buffer is too small. The file
named by the path parameter does not exist or it points to an empty
string. Insufficient storage space available. A component of the path
prefix of the path parameter is not a directory.
RELATED INFORMATION
Functions: readlink(2), realpath(3)
Manual: Solaris Compatibility Library User's Guide
resolvepath(2scl)