dirmodefmt.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 49 行
C
49 行
#include <u.h>#include <libc.h>#include <fcall.h>static char *modes[] ={ "---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx",};static voidrwx(long m, char *s){ strncpy(s, modes[m], 3);}intdirmodefmt(Fmt *f){ static char buf[16]; ulong m; m = va_arg(f->args, ulong); if(m & DMDIR) buf[0]='d'; else if(m & DMAPPEND) buf[0]='a'; else if(m & DMAUTH) buf[0]='A'; else buf[0]='-'; if(m & DMEXCL) buf[1]='l'; else buf[1]='-'; rwx((m>>6)&7, buf+2); rwx((m>>3)&7, buf+5); rwx((m>>0)&7, buf+8); buf[11] = 0; return fmtstrcpy(f, buf);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?