we don't flush typeahead any more
[unix-history] / usr / src / usr.bin / window / mloop.c
CommitLineData
3e02121b 1#ifndef lint
4cbd8755 2static char sccsid[] = "@(#)mloop.c 3.6 %G%";
3e02121b
EW
3#endif
4
5#include "defs.h"
6
7mloop()
8{
4cbd8755 9 wwrint(); /* catch typeahead before we set ASYNC */
3e02121b 10 while (!quit) {
ffa20db4 11 if (incmd) {
3e02121b 12 docmd();
b1189050 13 } else if (wwcurwin->ww_state != WWS_HASPROC) {
ffa20db4 14 setcmd(1);
b1189050
EW
15 if (wwpeekc() == escapec)
16 (void) wwgetc();
17 error("Process died.");
18 } else {
19 register char *p;
20 register n;
21
8fa6d94c 22 wwiomux();
b1189050
EW
23 if (wwibp < wwibq) {
24 for (p = wwibp; p < wwibq && *p != escapec;
25 p++)
26 ;
27 if ((n = p - wwibp) > 0) {
28 (void) write(wwcurwin->ww_pty,
29 wwibp, n);
30 wwibp = p;
31 }
32 if (wwpeekc() == escapec) {
b1189050 33 (void) wwgetc();
ffa20db4 34 setcmd(1);
b1189050 35 }
3e02121b
EW
36 }
37 }
38 }
39}