📄 plan9.c
字号:
#include "sam.h"Rune samname[] = L"~~sam~~";Rune *left[]= { L"{[(<«", L"\n", L"'\"`", 0};Rune *right[]= { L"}])>»", L"\n", L"'\"`", 0};char RSAM[] = "sam";char SAMTERM[] = "/bin/aux/samterm";char HOME[] = "home";char TMPDIR[] = "/tmp";char SH[] = "rc";char SHPATH[] = "/bin/rc";char RX[] = "rx";char RXPATH[] = "/bin/rx";char SAMSAVECMD[] = "/bin/rc\n/sys/lib/samsave";voiddprint(char *z, ...){ char buf[BLOCKSIZE]; va_list arg; va_start(arg, z); vseprint(buf, &buf[BLOCKSIZE], z, arg); va_end(arg); termwrite(buf);}voidprint_ss(char *s, String *a, String *b){ dprint("?warning: %s: `%.*S' and `%.*S'\n", s, a->n, a->s, b->n, b->s);}voidprint_s(char *s, String *a){ dprint("?warning: %s `%.*S'\n", s, a->n, a->s);}intstatfile(char *name, ulong *dev, uvlong *id, long *time, long *length, long *appendonly){ Dir *dirb; dirb = dirstat(name); if(dirb == nil) return -1; if(dev) *dev = dirb->type|(dirb->dev<<16); if(id) *id = dirb->qid.path; if(time) *time = dirb->mtime; if(length) *length = dirb->length; if(appendonly) *appendonly = dirb->mode & DMAPPEND; free(dirb); return 1;}intstatfd(int fd, ulong *dev, uvlong *id, long *time, long *length, long *appendonly){ Dir *dirb; dirb = dirfstat(fd); if(dirb == nil) return -1; if(dev) *dev = dirb->type|(dirb->dev<<16); if(id) *id = dirb->qid.path; if(time) *time = dirb->mtime; if(length) *length = dirb->length; if(appendonly) *appendonly = dirb->mode & DMAPPEND; free(dirb); return 1;}voidnotifyf(void *a, char *s){ USED(a); if(bpipeok && strcmp(s, "sys: write on closed pipe") == 0) noted(NCONT); if(strcmp(s, "interrupt") == 0) noted(NCONT); panicking = 1; rescue(); noted(NDFLT);}char*waitfor(int pid){ Waitmsg *w; static char msg[ERRMAX]; while((w = wait()) != nil){ if(w->pid != pid){ free(w); continue; } strecpy(msg, msg+sizeof msg, w->msg); free(w); return msg; } rerrstr(msg, sizeof msg); return msg;}voidsamerr(char *buf){ sprint(buf, "%s/sam.err", TMPDIR);}void*emalloc(ulong n){ void *p; p = malloc(n); if(p == 0) panic("malloc fails"); memset(p, 0, n); return p;}void*erealloc(void *p, ulong n){ p = realloc(p, n); if(p == 0) panic("realloc fails"); return p;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -