|
|
1.1 root 1: #include <stdio.h>
2: /*
3: * ssp - single space output
4: *
5: * Bill Joy UCB August 25, 1977
6: *
7: * Compress multiple empty lines to a single empty line.
8: * Option - compresses to nothing.
9: */
10:
11: char poof, hadsome;
12:
13: int ibuf[256];
14:
15:
16: main(argc, argv)
17: int argc;
18: char *argv[];
19: {
20: register int c;
21: FILE *f;
22:
23: argc--, argv++;
24: do {
25: while (argc > 0 && argv[0][0] == '-') {
26: poof = 1;
27: argc--, argv++;
28: }
29: f = stdin;
30: if (argc > 0) {
31: if ((f=fopen(argv[0], "r")) == NULL) {
32: fflush(f);
33: perror(argv[0]);
34: exit(1);
35: }
36: argc--, argv++;
37: }
38: for (;;) {
39: c = getc(f);
40: if (c == -1)
41: break;
42: if (c != '\n') {
43: hadsome = 1;
44: putchar(c);
45: continue;
46: }
47: /*
48: * Eat em up
49: */
50: if (hadsome)
51: putchar('\n');
52: c = getc(f);
53: if (c == -1)
54: break;
55: if (c != '\n') {
56: putchar(c);
57: hadsome = 1;
58: continue;
59: }
60: do
61: c = getc(f);
62: while (c == '\n');
63: if (!poof && hadsome)
64: putchar('\n');
65: if (c == -1)
66: break;
67: putchar(c);
68: hadsome = 1;
69: }
70: } while (argc > 0);
71: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.