📄 chk.nl
字号:
#!/bin/sh -## $Id: chk.nl,v 1.6 2002/01/07 15:12:12 bostic Exp $## Check to make sure that there are no trailing newlines in __db_err calls.d=../..[ -f $d/README ] || { echo "FAIL: chk.nl can't find the source directory." exit 1}cat << END_OF_CODE > t.c#include <sys/types.h>#include <errno.h>#include <stdio.h>int chk(FILE *, char *);intmain(argc, argv) int argc; char *argv[];{ FILE *fp; int exitv; for (exitv = 0; *++argv != NULL;) { if ((fp = fopen(*argv, "r")) == NULL) { fprintf(stderr, "%s: %s\n", *argv, strerror(errno)); return (1); } if (chk(fp, *argv)) exitv = 1; (void)fclose(fp); } return (exitv);}intchk(fp, name) FILE *fp; char *name;{ int ch, exitv, line, q; exitv = 0; for (ch = 'a', line = 1;;) { if ((ch = getc(fp)) == EOF) return (exitv); if (ch == '\n') { ++line; continue; } if (ch != '_') continue; if ((ch = getc(fp)) != '_') continue; if ((ch = getc(fp)) != 'd') continue; if ((ch = getc(fp)) != 'b') continue; if ((ch = getc(fp)) != '_') continue; if ((ch = getc(fp)) != 'e') continue; if ((ch = getc(fp)) != 'r') continue; if ((ch = getc(fp)) != 'r') continue; while ((ch = getc(fp)) != '"') { if (ch == EOF) return (exitv); if (ch == '\n') ++line; } while ((ch = getc(fp)) != '"') switch (ch) { case EOF: return (exitv); case '\\n': ++line; break; case '.': if ((ch = getc(fp)) != '"') ungetc(ch, fp); else { fprintf(stderr, "%s: <period> at line %d\n", name, line); exitv = 1; } break; case '\\\\': if ((ch = getc(fp)) != 'n') ungetc(ch, fp); else if ((ch = getc(fp)) != '"') ungetc(ch, fp); else { fprintf(stderr, "%s: <newline> at line %d\n", name, line); exitv = 1; } break; } } return (exitv);}END_OF_CODEcc t.c -o tif ./t $d/*/*.[ch] $d/*/*.cpp $d/*/*.in ; then :else echo "FAIL: found __db_err calls ending with periods/newlines." exit 1fiexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -