close.c
来自「unix v7是最后一个广泛发布的研究型UNIX版本」· C语言 代码 · 共 50 行
C
50 行
#include "fio.h"f_clos(a) cllist *a;{ unit *b; if(a->cunit >= MXUNIT) return(0); b= &units[a->cunit]; if(b->ufd==NULL) return(0); b->uend=0; if(a->csta!=0) switch(*a->csta) { default: keep: case 'k': if(b->uwrt) t_runc(b); fclose(b->ufd); if(b->ufnm!=0) free(b->ufnm); b->ufnm=NULL; b->ufd=NULL; return(0); case 'd': delete: fclose(b->ufd); if(b->ufnm!=0) { unlink(b->ufnm); /*SYSDEP*/ free(b->ufnm); } b->ufnm=NULL; b->ufd=NULL; return(0); } else if(b->uscrtch==1) goto delete; else goto keep;}f_exit(){ int i; cllist xx; xx.cerr=1; xx.csta=NULL; for(i=0;i<MXUNIT;i++) { xx.cunit=i; f_clos(&xx); }}flush_(){ int i; for(i=0;i<MXUNIT;i++) if(units[i].ufd != NULL) fflush(units[i].ufd);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?