fix undefined call order in fclose, possible lost output depending on compiler

pcc turned up this bug by calling f->close(f) before fflush(f),
resulting in lost output and error on flush.
This commit is contained in:
Rich Felker
2011-05-01 22:59:14 -04:00
parent a9be201cc0
commit bd67467325

View File

@ -13,7 +13,7 @@ int fclose(FILE *f)
OFLUNLOCK();
}
r = fflush(f) | f->close(f);
r = -(fflush(f) || f->close(f));
if (!perm) free(f);