tail head cat sleep
QR code linking to this page

Manual Pages  — REL2ABS

NAME

rel2abs – make an absolute path name from a relative path name

CONTENTS

SYNOPSIS


char *
rel2abs(const char *path, const char *base, char *result, size_t size);

DESCRIPTION

The rel2abs() function makes an absolute path name from a relative path name path based on a directory base and copies the resulting path name into the memory referenced by result. The result argument must refer to a buffer capable of storing at least size character

The resulting path name may include symbolic links. abs2rel() doesn't check whether or not any path exists.

RETURN VALUES

The rel2abs() function returns absolute path name on success. If an error occurs, it returns NULL.

EXAMPLES

char result[MAXPATHLEN];
char *path = rel2abs("../../src/sys", "/usr/local/lib", result, MAXPATHLEN);

yields:

path == "/usr/src/sys"

Similarly,

path1 = rel2abs("src/sys", "/usr", result, MAXPATHLEN);
path2 = rel2abs(".", "/usr/src/sys", result, MAXPATHLEN);

yields:

path1 == "/usr/src/sys"
path2 == "/usr/src/sys"

ERRORS

The rel2abs() function may fail and set the external variable errno to indicate the error.
[EINVAL]
  The base directory isn't an absolute path name or the size argument is zero.
[ERANGE]
  The size argument is greater than zero but smaller than the length of the pathname plus 1

SEE ALSO

abs2rel(3)

AUTHORS

Shigio Yamaguchi (shigio@tamacom.com)

REL2ABS (3) August 7, 2022

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver. Rather, if the driver makes a mistake, a giant “?” lights up in the center of the dashboard. “The experienced driver,” says Thompson, “will usually know what's wrong.”