Without IGNORE, -Wunused-result throws a warning on fread(2).

I've seen it happen on fwrite(2) as well; wrapping that as well in
case some compiler decides to be finicky.
This commit is contained in:
Eric S. Raymond 2017-07-01 08:35:05 -04:00
parent 9714bf8c82
commit 58b44313d3

View file

@ -26,6 +26,8 @@ struct save_t {
}; };
struct save_t save; struct save_t save;
#define IGNORE(r) do{if (r){}}while(0)
int savefile(FILE *fp, long version) int savefile(FILE *fp, long version)
/* Save game to file. No input or output from user. */ /* Save game to file. No input or output from user. */
{ {
@ -38,7 +40,7 @@ int savefile(FILE *fp, long version)
save.version = (version == 0) ? VRSION : version; save.version = (version == 0) ? VRSION : version;
memcpy(&save.game, &game, sizeof(struct game_t)); memcpy(&save.game, &game, sizeof(struct game_t));
fwrite(&save, sizeof(struct save_t), 1, fp); IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
return (0); return (0);
} }
@ -114,7 +116,7 @@ int restore(FILE* fp)
return GO_UNKNOWN; return GO_UNKNOWN;
#endif #endif
fread(&save, sizeof(struct save_t), 1, fp); IGNORE(fread(&save, sizeof(struct save_t), 1, fp));
fclose(fp); fclose(fp);
if (save.version != VRSION) { if (save.version != VRSION) {
rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10), VRSION / 10, MOD(VRSION, 10)); rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10), VRSION / 10, MOD(VRSION, 10));