X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/31cef89cb428866f787983e68246030321893df4..4b9ccde74dc34e450ed96bcd3d044f78cf393d8d:/usr/src/lib/libpc/PCLOSE.c diff --git a/usr/src/lib/libpc/PCLOSE.c b/usr/src/lib/libpc/PCLOSE.c index a23cfe9d6f..605e2c0946 100644 --- a/usr/src/lib/libpc/PCLOSE.c +++ b/usr/src/lib/libpc/PCLOSE.c @@ -1,9 +1,8 @@ /* Copyright (c) 1979 Regents of the University of California */ -static char sccsid[] = "@(#)PCLOSE.c 1.1 10/29/80"; +static char sccsid[] = "@(#)PCLOSE.c 1.4 6/10/81"; #include "h00vars.h" -#include "h01errs.h" PCLOSE(level) @@ -15,15 +14,20 @@ PCLOSE(level) while(next != FILNIL && next->flev <= level) { if (next->fbuf != 0) { if ((next->funit & FDEF) == 0) { + if (next->fblk > PREDEF) { + fflush(next->fbuf); + setbuf(next->fbuf, NULL); + } fclose(next->fbuf); if (ferror(next->fbuf)) { - ERROR(ECLOSE, next->pfname); + ERROR("%s: Close failed\n", + next->pfname); return; } } if ((next->funit & TEMP) != 0 && unlink(next->pfname)) { - ERROR(EREMOVE, next->pfname); + PERROR("Could not remove ", next->pfname); return; } }