|
|
1.1 root 1: int bct[4];
2: int optr[4];
3: char bsp[2048];
4:
5: char *obuf[4] {bsp,
6: bsp + 512,
7: bsp + 1024,
8: bsp + 1536
9: };
10:
11: int nflush;
12:
13: put(fil,string,n)
14: char *string;
15: {
16: extern utmp;
17: int i;
18: char *o;
19:
20: /*printf("%d %c %d\n",fil,*string,n);/*DEBUG*/
21:
22: string--;
23:
24: if((i = optr[fil] + n - 512) >= 0) {
25: n =- i;
26: o = &obuf[fil][optr[fil]] -1;
27: while(--n >= 0)
28: *++o = *++string;
29: optr[fil] = 512;
30: flsh(fil);
31: n = i;
32: }
33:
34: o = &obuf[fil][optr[fil]] - 1;
35: optr[fil] =+ n;
36:
37: while(--n >= 0) {
38: *++o = *++string;
39: }
40: return(0);
41: }
42:
43: flsh(fil)
44: {
45: extern tp[],utmp;
46:
47: if(optr[fil] <= 0) return(optr[fil]);
48:
49: nflush++;
50: if(write(tp[fil],obuf[fil],optr[fil]) != optr[fil])
51: return(-1);
52: optr[fil] = 0;
53: return(0);
54: }
55:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.