logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

explain_readlink_or_die - read value of a symbolic link and report errors

Description

       The  explain_readlink_or_die  function  is  used  to  call  the  readlink(2)  system  call. On failure an
       explanation will be printed to stderr, obtained from  the  explain_readlink(3)  function,  and  then  the
       process terminates by calling exit(EXIT_FAILURE).

       The  explain_readlink_on_error  function  is  used  to  call  the  readlink(2) system call. On failure an
       explanation will be printed to stderr, obtained from the explain_readlink(3) function, but still  returns
       to the caller.

       pathname
               The pathname, exactly as to be passed to the readlink(2) system call.

       data    The data, exactly as to be passed to the readlink(2) system call.

       data_size
               The data_size, exactly as to be passed to the readlink(2) system call.

Example

       The  explain_readlink_or_die  function  is  intended  to  be  used  in a fashion similar to the following
       example:
              ssize_t result = explain_readlink_or_die(pathname, data, data_size);

Name

       explain_readlink_or_die - read value of a symbolic link and report errors

Return Value

       The  explain_readlink_or_die  function  only returns on success, see readlink(2) for more information. On
       failure, prints an explanation and exits, it does not return.

       The explain_readlink_on_error function always returns the value return by the wrapped readlink(2)  system
       call.

See Also

readlink(2)
               read value of a symbolic link

       explain_readlink(3)
               explain readlink(2) errors

       exit(2) terminate the calling process

Synopsis

       #include <libexplain/readlink.h>
       ssize_t explain_readlink_or_die(const char *pathname, char *data, size_t data_size);
       ssize_t explain_readlink_on_error(const char *pathname, char *data, size_t data_size))

See Also