realpath()

Resolve a pathname

Synopsis:

#include <stdlib.h>

char * realpath( const char * pathname,
                 char * resolved_name );

Since:

BlackBerry 10.0.0

Arguments:

pathname
The path name that you want to resolve.
resolved_name
NULL, or a pointer to a buffer where the function can store the resolved name.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The realpath() function resolves all symbolic links, extra slash (/) characters and references to /./ and /../ in pathname, and copies the resulting null-terminated absolute pathname into the memory referenced by resolved_name.

To determine the size of the buffer pointed to by resolved_name, call fpathconf() or pathconf() with an argument of _PC_PATH_MAX.

If resolved_name is NULL, the function uses malloc() to allocate a buffer of the size indicated by _PC_PATH_MAX. You're responsible for freeing this memory by calling free().

This function resolves both absolute and relative paths and returns the absolute pathname corresponding to pathname. All but the last component of pathname must exist when you call realpath().

Returns:

A pointer to resolved_name, or NULL if an error occurred, in which case resolved_name contains the pathname that caused the problem.

Errors:

The realpath() function may fail and set the external variable errno to any of the errors specified for the library functions chdir(), close(), fchdir(), lstat(), open(), readlink() and getcwd().

Classification:

POSIX 1003.1 XSI

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus