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

Go to the source code of this file.

Functions

FILE * explain_freopen_on_error (const char *pathname, const char *flags, FILE *fp)
void explain_freopen_or_die (const char *pathname, const char *flags, FILE *fp)

Function Documentation

FILE* explain_freopen_on_error ( const char *  pathname,
const char *  flags,
FILE *  fp 
)

The explain_freopen_on_error function is used to call the freopen(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_freopen(3) function.

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

 if (!explain_freopen_on_error(pathname, flags, fp))
 {
     ...cope with error
     ...no need to print error message
 }
Parameters:
pathnameThe pathname, exactly as to be passed to the freopen(3) system call.
flagsThe flags, exactly as to be passed to the freopen(3) system call.
fpThe fp, exactly as to be passed to the freopen(3) system call.
Returns:
The value returned by the wrapped freopen(3) system call.

Definition at line 28 of file freopen_or_die.c.

void explain_freopen_or_die ( const char *  pathname,
const char *  flags,
FILE *  fp 
)

The explain_freopen_or_die function is used to call the freopen(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_freopen(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_freopen_or_die(pathname, flags, fp);
Parameters:
pathnameThe pathname, exactly as to be passed to the freopen(3) system call.
flagsThe flags, exactly as to be passed to the freopen(3) system call.
fpThe fp, exactly as to be passed to the freopen(3) system call.
Returns:
This function only returns on success. On failure, prints an explanation and exits, it does not return.

Definition at line 47 of file freopen_or_die.c.