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