#include #include char usage[] = "usage: %s -len file ...\n"; char *pname; void pad(FILE *f, int len); int main(argc, argv) int argc; char **argv; { int len; FILE *f; pname = argv[0]; if (argc-- > 1 && **++argv == '-') { len = atoi(&argv[0][1]); if (len <= 0) { fprintf(stderr, usage, pname); exit(1); } argc--; } else len = 80; if (argc == 0) { pad(stdin, len); exit(0); } while (argc--) { ++argv; if (**argv == '-') f = stdin; else f = fopen(*argv, "r"); if (f == NULL) fprintf(stderr, "%s: cannot open %s\n", pname, *argv); else { pad(f, len); fclose(f); } } exit(0); } void pad(f, len) FILE *f; int len; { register int c, w; w = 0; while ((c = getc(f)) != EOF) { switch (c) { case '\t': w = (w | 07) + 1; break; case '\b': if (w) w--; break; case '\n': while (w++ < len) putchar(' '); w = 0; break; default: w++; } putchar(c); } if (w) { while (w++ < len) putchar(' '); putchar('\n'); } return ; }