sinit.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 46 行

C
46
字号
#ifndef lintstatic	char	*sccsid = "@(#)sinit.c	4.1	(ULTRIX)	7/17/90";#endif lint# include	"../hdr/defines.h"/*	Does initialization for sccs files and packet.*/sinit(pkt,file,openflag)register struct packet *pkt;register char *file;{	extern	char	*satoi();	register char *p;	FILE *fdfopen();	char *getline();	zero(pkt,sizeof(*pkt));	if (size(file) > FILESIZE)		fatal("too long (co7)");	if (!sccsfile(file))		fatal("not an SCCS file (co1)");	copy(file,pkt->p_file);	pkt->p_wrttn = 1;	pkt->do_chksum = 1;	/* turn on checksum check for getline */	if (openflag) {		pkt->p_iop = xfopen(file,0);		setbuf(pkt->p_iop,pkt->p_buf);		fstat(fileno(pkt->p_iop),&Statbuf);		if (Statbuf.st_nlink > 1)			fatal("more than one link (co3)");		if ((p = getline(pkt)) == NULL || *p++ != CTLCHAR || *p++ != HEAD) {			fclose(pkt->p_iop);			fmterr(pkt);		}		p = satoi(p,&pkt->p_ihash);		if (*p != '\n')			fmterr(pkt);	}	pkt->p_chash = 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?