|
|
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.