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

📄 t3.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
/* t3.c: interpret commands affecting whole table */# include "t.h"struct optstr {	char	*optnam; 	int	*optadd;} options [] = {	"expand", &expflg,	"EXPAND", &expflg,	"center", &ctrflg,	"CENTER", &ctrflg,	"box", &boxflg,	"BOX", &boxflg,	"allbox", &allflg,	"ALLBOX", &allflg,	"doublebox", &dboxflg,	"DOUBLEBOX", &dboxflg,	"frame", &boxflg,	"FRAME", &boxflg,	"doubleframe", &dboxflg,	"DOUBLEFRAME", &dboxflg,	"tab", &tab,	"TAB", &tab,	"linesize", &linsize,	"LINESIZE", &linsize,	"delim", &delim1,	"DELIM", &delim1,	0, 0};voidgetcomm(void){	char	line[200], *cp, nb[25], *t;	struct optstr *lp;	int	c, ci, found;	for (lp = options; lp->optnam; lp++)		*(lp->optadd) = 0;	texname = texstr[texct=0];	tab = '\t';	Bprint(&tabout, ".nr %d \\n(.s\n", LSIZE);	gets1(line, sizeof(line));	/* see if this is a command line */	if (strchr(line, ';') == 0) {		backrest(line);		return;	}	for (cp = line; (c = *cp) != ';'; cp++) {		if (!letter(c)) 			continue;		found = 0;		for (lp = options; lp->optadd; lp++) {			if (prefix(lp->optnam, cp)) {				*(lp->optadd) = 1;				cp += strlen(lp->optnam);				if (letter(*cp))					error("Misspelled global option");				while (*cp == ' ')					cp++;				t = nb;				if ( *cp == '(')					while ((ci = *++cp) != ')')						*t++ = ci;				else 					cp--;				*t++ = 0; 				*t = 0;				if (lp->optadd == &tab) {					if (nb[0])						*(lp->optadd) = nb[0];				}				if (lp->optadd == &linsize)					Bprint(&tabout, ".nr %d %s\n", LSIZE, nb);				if (lp->optadd == &delim1) {					delim1 = nb[0];					delim2 = nb[1];				}				found = 1;				break;			}		}		if (!found)			error("Illegal option");	}	cp++;	backrest(cp);	return;}voidbackrest(char *cp){	char	*s;	for (s = cp; *s; s++)		;	un1getc('\n');	while (s > cp)		un1getc(*--s);	return;}

⌨️ 快捷键说明

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