fgetc() is not required to clear the error indicator on success

It's bad idea to rely on `ferror()` at all times - if `fgetc()` succeeds the error indicator is not required to be reset.