|
|
1.1 root 1: # include "refer..c"
2: static gate= 0;
3: static char buff[LLINE];
4: char *trimnl();
5: output (s)
6: char *s;
7: {
8: if (gate)
9: fputs(buff,ftemp);
10: else
11: gate=1;
12: strcpy(buff,s);
13: if (strlen(buff)>LLINE)
14: err("one buff too big (%d)!", LLINE);
15: }
16: append(s)
17: char *s;
18: {
19: char *p, *r; int lch;
20: trimnl(buff);
21: for (p=buff; *p; p++)
22: ;
23: lch = *--p;
24: switch (lch)
25: {
26: case '.': case ',':
27: *p=0;
28: r="\\*(<";
29: while (*r) *p++= *r++;
30: *p++ = lch;
31: *p=0;
32: }
33: strcat(buff,s);
34: switch(lch)
35: {
36: case '.': case ',':
37: for(p=buff; *p; p++)
38: ;
39: if (*--p=='\n')*p=0;
40: r = "\\*(>";
41: while (*r) *p++ = *r++;
42: *p++ = lch;
43: *p++ = '\n';
44: *p=0;
45: }
46: if (strlen(buff)>LLINE)
47: err("output buff too long (%d)", LLINE);
48: }
49:
50: flout()
51: {
52: if (gate)
53: fputs(buff,ftemp);
54: gate=0;
55: }
56:
57: char *
58: trimnl(ln)
59: char *ln;
60: {
61: register char *p = ln;
62: while (*p) p++;
63: p--;
64: if (*p == '\n') *p=0;
65: return(ln);
66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.