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

📄 subr.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include "rc.h"#include "exec.h"#include "io.h"#include "fns.h"char*emalloc(long n){	char *p = (char *)Malloc(n);	if(p==0)		panic("Can't malloc %d bytes", n);/*	if(err){ pfmt(err, "malloc %d->%p\n", n, p); flush(err); } /**/	return p;}voidefree(char *p){/*	pfmt(err, "free %p\n", p); flush(err); /**/	if(p)		free(p);	else pfmt(err, "free 0\n");}extern int lastword, lastdol;voidyyerror(char *m){	pfmt(err, "rc: ");	if(runq->cmdfile && !runq->iflag)		pfmt(err, "%s:%d: ", runq->cmdfile, runq->lineno);	else if(runq->cmdfile)		pfmt(err, "%s: ", runq->cmdfile);	else if(!runq->iflag)		pfmt(err, "line %d: ", runq->lineno);	if(tok[0] && tok[0]!='\n')		pfmt(err, "token %q: ", tok);	pfmt(err, "%s\n", m);	flush(err);	lastword = 0;	lastdol = 0;	while(lastc!='\n' && lastc!=EOF) advance();	nerror++;	setvar("status", newword(m, (word *)0));}char *bp;static voidiacvt(int n){	if(n<0){		*bp++='-';		n=-n;	/* doesn't work for n==-inf */	}	if(n/10)		iacvt(n/10);	*bp++=n%10+'0';}voidinttoascii(char *s, long n){	bp = s;	iacvt(n);	*bp='\0';}voidpanic(char *s, int n){	pfmt(err, "rc: ");	pfmt(err, s, n);	pchr(err, '\n');	flush(err);	Abort();}

⌨️ 快捷键说明

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