libexplain  1.4.D001
Functions
libexplain/vsnprintf_or_die.c File Reference
#include <libexplain/ac/errno.h>
#include <libexplain/ac/stdarg.h>
#include <libexplain/ac/stdio.h>
#include <libexplain/output.h>
#include <libexplain/vsnprintf.h>

Go to the source code of this file.

Functions

int explain_vsnprintf_or_die (char *data, size_t data_size, const char *format, va_list ap)
int explain_vsnprintf_on_error (char *data, size_t data_size, const char *format, va_list ap)

Function Documentation

int explain_vsnprintf_on_error ( char *  data,
size_t  data_size,
const char *  format,
va_list  ap 
)

The explain_vsnprintf_on_error function is used to call the vsnprintf(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_vsnprintf(3) function.

Parameters:
dataThe data, exactly as to be passed to the vsnprintf(3) system call.
data_sizeThe data_size, exactly as to be passed to the vsnprintf(3) system call.
formatThe format, exactly as to be passed to the vsnprintf(3) system call.
apThe ap, exactly as to be passed to the vsnprintf(3) system call.
Returns:
The value returned by the wrapped vsnprintf(3) system call.
Example:
This function is intended to be used in a fashion similar to the following example:
 errno = 0;
 int result = explain_vsnprintf_on_error(data, data_size, format, ap);
 if (result < 0 && errno != 0)
 {
     ...cope with error
     ...no need to print error message
 }

Definition at line 44 of file vsnprintf_or_die.c.

int explain_vsnprintf_or_die ( char *  data,
size_t  data_size,
const char *  format,
va_list  ap 
)

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

Parameters:
dataThe data, exactly as to be passed to the vsnprintf(3) system call.
data_sizeThe data_size, exactly as to be passed to the vsnprintf(3) system call.
formatThe format, exactly as to be passed to the vsnprintf(3) system call.
apThe ap, exactly as to be passed to the vsnprintf(3) system call.
Returns:
This function only returns on success, see vsnprintf(3) for more information. On failure, prints an explanation and exits, it does not return.
Example:
This function is intended to be used in a fashion similar to the following example:
 int result = explain_vsnprintf_or_die(data, data_size, format, ap);

Definition at line 28 of file vsnprintf_or_die.c.