printsw.c
来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 52 行
C
52 行
/* printsw.c - print switches */#include "../h/mh.h"void printsw (substr, swp, prefix)register char *substr, *prefix;register struct swit *swp;{ int len, optno; register int i; register char *cp, *cp1, *sp; char buf[128]; len = strlen (substr); for (; swp -> sw; swp++) { if (!*substr || /* null matches all strings */ (ssequal (substr, swp -> sw) && len >= swp -> minchars)) { optno = 0; if (sp = (&swp[1]) -> sw) /* next switch */ if (!*substr && sp[0] == 'n' && sp[1] == 'o' && strcmp (&sp[2], swp -> sw) == 0 && ( ((&swp[1]) -> minchars == 0 && swp -> minchars == 0) || ((&swp[1]) -> minchars == (swp -> minchars) + 2))) optno++; if (swp -> minchars > 0) { cp = buf; *cp++ = '('; if (optno) { (void) strcpy (cp, "[no]"); cp += strlen (cp); } for (cp1 = swp -> sw, i = 0; i < swp -> minchars; i++) *cp++ = *cp1++; *cp++ = ')'; while (*cp++ = *cp1++); printf (" %s%s\n", prefix, buf); } else if (swp -> minchars == 0) printf (optno ? " %s[no]%s\n" : " %s%s\n", prefix, swp -> sw); if (optno) swp++; /* skip -noswitch */ } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?