📄 subr.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 + -