more internal buffering

This commit is contained in:
ceriel
1989-11-17 15:56:53 +00:00
parent ef6c8451b9
commit 4cb312287f
5 changed files with 37 additions and 33 deletions

View File

@@ -36,6 +36,7 @@
#define put4(l, c) (* ((long *) (c)) = (l))
#endif
#define SECTCNT 3 /* number of sections with own output buffer */
#if BIGMACHINE
#define WBUFSIZ (8*BUFSIZ)
#else
@@ -55,17 +56,15 @@ struct fil {
extern struct fil __parts[];
#define OUTBYTE(p, b) {if (__parts[p].cnt == 0) __wr_flush(&__parts[p]);\
__parts[p].cnt--; *__parts[p].pnow++ = (b);}
#define PARTEMIT 0
#define PARTRELO 1
#define PARTNAME 2
#define PARTCHAR 3
#define PARTRELO (PARTEMIT+SECTCNT)
#define PARTNAME (PARTRELO+1)
#define PARTCHAR (PARTNAME+1)
#ifdef SYMDBUG
#define PARTDBUG 4
#define PARTDBUG (PARTCHAR+1)
#else
#define PARTDBUG 3
#define PARTDBUG (PARTCHAR+0)
#endif
#define NPARTS (PARTDBUG + 1)
#define getsect(s) (PARTEMIT+((s)>=(SECTCNT-1)?(SECTCNT-1):(s)))