projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4_1_snap release
[unix-history]
/
usr
/
src
/
lib
/
libpc
/
PCLOSE.c
diff --git
a/usr/src/lib/libpc/PCLOSE.c
b/usr/src/lib/libpc/PCLOSE.c
index
a23cfe9
..
605e2c0
100644
(file)
--- 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 */
/* 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 "h00vars.h"
-#include "h01errs.h"
PCLOSE(level)
PCLOSE(level)
@@
-15,15
+14,20
@@
PCLOSE(level)
while(next != FILNIL && next->flev <= level) {
if (next->fbuf != 0) {
if ((next->funit & FDEF) == 0) {
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)) {
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)) {
return;
}
}
if ((next->funit & TEMP) != 0 &&
unlink(next->pfname)) {
-
ERROR(EREMOVE
, next->pfname);
+
PERROR("Could not remove "
, next->pfname);
return;
}
}
return;
}
}