libexplain  1.4.D001
Functions
libexplain/fread_or_die.c File Reference
#include <libexplain/ac/errno.h>
#include <libexplain/ac/stdio.h>
#include <libexplain/fread.h>
#include <libexplain/output.h>

Go to the source code of this file.

Functions

size_t explain_fread_on_error (void *ptr, size_t size, size_t nmemb, FILE *fp)
size_t explain_fread_or_die (void *ptr, size_t size, size_t nmemb, FILE *fp)

Function Documentation

size_t explain_fread_on_error ( void *  ptr,
size_t  size,
size_t  nmemb,
FILE *  fp 
)

The explain_fread_on_error function is used to call the fread(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_fread(3) function.

This function is intended to be used in a fashion similar to the following example:

 if (explain_fread_on_error(ptr, size, nmemb, fp) == 0 && ferror(fp))
 {
     ...cope with error
     ...no need to print error message
 }
Parameters:
ptrThe ptr, exactly as to be passed to the fread(3) system call.
sizeThe size, exactly as to be passed to the fread(3) system call.
nmembThe nmemb, exactly as to be passed to the fread(3) system call.
fpThe fp, exactly as to be passed to the fread(3) system call.
Returns:
The value returned by the wrapped fread(3) system call.

Definition at line 27 of file fread_or_die.c.

size_t explain_fread_or_die ( void *  ptr,
size_t  size,
size_t  nmemb,
FILE *  fp 
)

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

This function is intended to be used in a fashion similar to the following example:

 explain_fread_or_die(ptr, size, nmemb, fp);
Parameters:
ptrThe ptr, exactly as to be passed to the fread(3) system call.
sizeThe size, exactly as to be passed to the fread(3) system call.
nmembThe nmemb, exactly as to be passed to the fread(3) system call.
fpThe fp, exactly as to be passed to the fread(3) system call.
Returns:
This function only returns on success. On failure, prints an explanation and exits, it does not return.

Definition at line 46 of file fread_or_die.c.