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

📄 tt.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
/* tt.c: subroutines for drawing horizontal lines */# include "t.h"intctype(int il, int ic){	if (instead[il])		return(0);	if (fullbot[il])		return(0);	il = stynum[il];	return(style[ic][il]);}intmin(int a, int b){	return(a < b ? a : b);}intfspan(int i, int c){	c++;	return(c < ncol && ctype(i, c) == 's');}intlspan(int i, int c){	int	k;	if (ctype(i, c) != 's') 		return(0);	c++;	if (c < ncol && ctype(i, c) == 's')		return(0);	for (k = 0; ctype(i, --c) == 's'; k++)		;	return(k);}intctspan(int i, int c){	int	k;	c++;	for (k = 1; c < ncol && ctype(i, c) == 's'; k++)		c++;	return(k);}voidtohcol(int ic){	if (ic == 0)		Bprint(&tabout, "\\h'|0'");	else		Bprint(&tabout, "\\h'(|\\n(%2su+|\\n(%2su)/2u'", reg(ic, CLEFT),		     reg(ic - 1, CRIGHT));}intallh(int i){			/* return true if every element in line i is horizontal */				/* also at least one must be horizontl */	int	c, one, k;	if (fullbot[i]) 		return(1);	if (i >= nlin) 		return(dboxflg || boxflg);	for (one = c = 0; c < ncol; c++) {		k = thish(i, c);		if (k == 0) 			return(0);		if (k == 1) 			continue;		one = 1;	}	return(one);}intthish(int i, int c){	int	t;	char	*s;	struct colstr *pc;	if (c < 0)		return(0);	if (i < 0) 		return(0);	t = ctype(i, c);	if (t == '_' || t == '-')		return('-');	if (t == '=')		return('=');	if (t == '^') 		return(1);	if (fullbot[i] )		return(fullbot[i]);	if (t == 's') 		return(thish(i, c - 1));	if (t == 0) 		return(1);	pc = &table[i][c];	s = (t == 'a' ? pc->rcol : pc->col);	if (s == 0 || (point(s) && *s == 0))		return(1);	if (vspen(s)) 		return(1);	if (t = barent( s))		return(t);	return(0);}

⌨️ 快捷键说明

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