⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dolist.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
#ifndef lintstatic	char	*sccsid = "@(#)dolist.c	4.1	(ULTRIX)	7/17/90";#endif lint# include	"../hdr/defines.h"static char br[]  =  "bad range (co12)";dolist(pkt,list,ch)struct packet *pkt;register char *list;char ch;{	char *getasid();	struct sid lowsid, highsid, sid;	int n;	while (*list) {		list = getasid(list,&lowsid);		if (*list == '-') {			++list;			list = getasid(list,&highsid);			if (lowsid.s_br == 0) {				if ((highsid.s_br || highsid.s_seq ||					highsid.s_rel < lowsid.s_rel ||					(highsid.s_rel == lowsid.s_rel &&					highsid.s_lev < lowsid.s_lev)))						fatal(br);				sid.s_br = sid.s_seq = 0;				for (sid.s_rel = lowsid.s_rel; sid.s_rel <= highsid.s_rel; sid.s_rel++) {					sid.s_lev = (sid.s_rel == lowsid.s_rel ? lowsid.s_lev : 1);					for ( ; n = sidtoser(&sid,pkt); sid.s_lev++)						enter(pkt,ch,n,&sid);				}			}			else {				if (!(highsid.s_rel == lowsid.s_rel &&					highsid.s_lev == lowsid.s_lev &&					highsid.s_br == lowsid.s_br &&					highsid.s_seq >= lowsid.s_seq))						fatal(br);				for (; lowsid.s_seq <= highsid.s_seq &&					(n = sidtoser(&lowsid,pkt)); lowsid.s_seq++)						enter(pkt,ch,n,&lowsid);			}		}		else {			if (n = sidtoser(&lowsid,pkt))				enter(pkt,ch,n,&lowsid);		}		if (*list == ',')			++list;	}}static char dls[]  =  "delta list syntax (co13)";char *getasid(p,sp)register char *p;register struct sid *sp;{	register char *old;	char *sid_ab();	p = sid_ab(old = p,sp);	if (old == p || sp->s_rel == 0)		fatal(dls);	if (sp->s_lev == 0) {		sp->s_lev = MAX;		if (sp->s_br || sp->s_seq)			fatal(dls);	}	else if (sp->s_br) {		if (sp->s_seq == 0)			sp->s_seq = MAX;	}	else if (sp->s_seq)		fatal(dls);	return(p);}

⌨️ 快捷键说明

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