Revise the fread loop.  Use a lookahead buffer as a drop-in replacement for the erroneous fseek() function