|
|
1.1 root 1: /* Copyright (c) 1979 Regents of the University of California */
2:
3: static char sccsid[] = "@(#)PCLOSE.c 1.4 6/10/81";
4:
5: #include "h00vars.h"
6:
7: PCLOSE(level)
8:
9: struct iorec *level;
10: {
11: register struct iorec *next;
12:
13: next = _fchain.fchain;
14: while(next != FILNIL && next->flev <= level) {
15: if (next->fbuf != 0) {
16: if ((next->funit & FDEF) == 0) {
17: if (next->fblk > PREDEF) {
18: fflush(next->fbuf);
19: setbuf(next->fbuf, NULL);
20: }
21: fclose(next->fbuf);
22: if (ferror(next->fbuf)) {
23: ERROR("%s: Close failed\n",
24: next->pfname);
25: return;
26: }
27: }
28: if ((next->funit & TEMP) != 0 &&
29: unlink(next->pfname)) {
30: PERROR("Could not remove ", next->pfname);
31: return;
32: }
33: }
34: _actfile[next->fblk] = FILNIL;
35: next = next->fchain;
36: }
37: _fchain.fchain = next;
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.