regexps.com
These functions provide higher-level abstractions that capture common ways of using the lower-level VU functions.
int vu_file_to_string (int * errn, t_uchar ** buf, size_t * len, int fd);
Read the entire contents of fd
into a newly allocated string.
If no error occurs, return 0
. The new string is returned in *buf
;
its length in *len
.
If an I/O error occurs, return -1
and fill *errn
.
If vu_fstat
is able to report the length of the file, a single call to
vu_read_retry
is used to read its contents. Otherwise, repeated calls
to vu_read_retry
are used.
int vu_move_fd (int * errn, int fd, int newfd);
Relocate fd
to newfd
. fd
must already be handled by VU.
Thus function performs a vu_dup
or vu_dup2
This is useful when performing file redirections after fork
and
before exec
.
int vu_file_is_directory (int * errn, t_uchar * name);
Return 1
if name
names a directory, 0
if not, -1
on error.
Non-existence of any file called name
is not an error.
Function
vu_file_is_directory_following
int vu_file_is_directory_following (int * errn, t_uchar * name);
Return 1
if name
names a directory or symlink to a directory,
0
if not, -1
on error.
Non-existence of any file called name
is not an error.
regexps.com