limb 0.2.0

2024-01-09

sa_realpathat(3)
limb manual
sa_realpathat(3)

NAME

sa_realpathat, sa_realpath - place canonicalized absolute pathname into a stralloc

SYNOPSIS

#include <fcntl.h> /* AT_FDCWD */
#include <limb/djbunix.h>
int sa_realpathat(stralloc *sa, int fd, const char *path)
int sa_realpath(stralloc *sa, const char *path)

DESCRIPTION

The sa_realpathat() function expands all symbolic links and resolves references to . and .. in the NUL-terminated string pointed by path to produce the corresponding canonicalized absolute pathname, added into the stralloc pointed by sa.

If path specify a relative path, it is relative to the directory associated with the file descriptor fd, which may be AT_FDCWD to use the current working directory.

For more details, refer to realpath(3).

The sa_realpath() macro is similar except when path specifies a relative path, in which case it is relative to the current working directory.

RETURN VALUE

On success these functions return 0. Otherwise they return -1 and set errno to indicate the error.

ERRORS

These functions may fail and set errno if :

ENOMEM

Insufficient memory available to grow sa

They may may fail and set errno for any of the errors described for realpath(3).

The sa_realpathat() function may also fail and set errno for any of the errors described for open_read(3) or fd_chdir(3).

limb 0.1.0
2023-07-24
sa_realpathat(3)