/* * */ #include #include #include #include static int fnain(FILE *fp) { int ch, inheader = 1, cc = 0, keep = 0; while (inheader && (ch = getc(fp)) != EOF) { cc++; if (cc == 1) { if (ch == ' ' || ch == '\t') putchar(' '); else { if (ch == '\n') inheader = 0; if (keep != 0) putchar(keep); putchar(ch); } keep = 0; } else { if (ch == '\n') { cc = 0; keep = '\n'; } else putchar(ch); } }/* while */ if (keep != 0) putchar(keep); if (ch != EOF) { while ((ch = getc(fp)) != EOF) putchar(ch); } return 0; }/* fnain */ static int nain(const char *name) { int err = -1; FILE *fp = fopen(name, "r"); if (fp != NULL) { err = fnain(fp); fclose(fp); } else perror(name); return err; }/* nain */ int main(int argc, char *argv[]) { int ex = 1; if (argc < 2) { ex = fnain(stdin) < 0; } else { int i; ex = 0; for (i = 1; i < argc; i++) { if (nain(argv[i]) < 0) ex = 1; }/* for */ } return ex; }/* main */