explain_fileno_or_die - check and reset stream status and report errors
int explain_fileno_or_die(FILE *fp);
int explain_fileno_on_error(FILE *fp);
The explain_fileno_or_die function is used to call the fileno(3) system
call. On failure an explanation will be printed to stderr, obtained
from the explain_fileno(3) function, and then the process terminates by
The explain_fileno_on_error function is used to call the fileno(3)
system call. On failure an explanation will be printed to stderr,
obtained from the explain_fileno(3) function, but still returns to the
fp The fp, exactly as to be passed to the fileno(3) system call.
The explain_fileno_or_die function only returns on success, see
fileno(3) for more information. On failure, prints an explanation and
exits, it does not return.
The explain_fileno_on_error function always returns the value return by
the wrapped fileno(3) system call.
The explain_fileno_or_die function is intended to be used in a fashion
similar to the following example:
check and reset stream status
explain fileno(3) errors
exit(2) terminate the calling process
libexplain version 0.19
Copyright (C) 2009 Peter Miller