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 explain_fread(3), 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:
size_t how_many = explain_fread_or_die(ptr, size, nmemb, fp);
ptr The ptr, exactly as to be passed to the fread(3) system call.
size The size, exactly as to be passed to the fread(3) system call.
nmemb The nmemb, exactly as to be passed to the fread(3) system call.
fp The fp, exactly as to be passed to the fread(3) system call.
Returns:
This function only returns on success, the number read or 0 on end‐of‐input. On failure, prints
an explanation and exits.