libexplain  1.4.D001
Functions
libexplain/strndup_on_error.c File Reference
#include <libexplain/ac/errno.h>
#include <libexplain/ac/stdlib.h>
#include <libexplain/ac/string.h>
#include <libexplain/strndup.h>
#include <libexplain/output.h>

Go to the source code of this file.

Functions

static size_t strnlen (const char *s, size_t n)
static char * strndup (const char *text, size_t text_size)
char * explain_strndup_on_error (const char *data, size_t data_size)

Function Documentation

char* explain_strndup_on_error ( const char *  data,
size_t  data_size 
)

The explain_strndup_on_error function is used to call the strndup(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_strndup(3) function.

Parameters:
dataThe data, exactly as to be passed to the strndup(3) system call.
data_sizeThe data_size, exactly as to be passed to the strndup(3) system call.
Returns:
The value returned by the wrapped strndup(3) system call.
Example:
This function is intended to be used in a fashion similar to the following example:
 char *result = explain_strndup_on_error(data, data_size);
 if (!result)
 {
     ...cope with error
     ...no need to print error message
 }

Definition at line 56 of file strndup_on_error.c.

static char* strndup ( const char *  text,
size_t  text_size 
) [static]

Definition at line 38 of file strndup_on_error.c.

static size_t strnlen ( const char *  s,
size_t  n 
) [static]

Definition at line 30 of file strndup_on_error.c.