- if (fseek (fp, 0, SEEK_END))
- goto skip;
- ASSERT (!freading (fp));
- if (fclose (fp))
- goto skip;
+ ASSERT (fseek (fp, 0, SEEK_END) == 0);
+ /* freading (fp) is undefined here, because on some implementations (e.g.
+ glibc) fseek causes a buffer to be read.
+ fwriting (fp) is undefined as well. */
+ ASSERT (fclose (fp) == 0);