|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)mloop.c 3.8 4/24/85"; ! 3: #endif ! 4: ! 5: /* ! 6: * Copyright (c) 1983 Regents of the University of California, ! 7: * All rights reserved. Redistribution permitted subject to ! 8: * the terms of the Berkeley Software License Agreement. ! 9: */ ! 10: ! 11: #include "defs.h" ! 12: ! 13: mloop() ! 14: { ! 15: wwrint(); /* catch typeahead before we set ASYNC */ ! 16: while (!quit) { ! 17: if (incmd) { ! 18: docmd(); ! 19: } else if (wwcurwin->ww_state != WWS_HASPROC) { ! 20: setcmd(1); ! 21: if (wwpeekc() == escapec) ! 22: (void) wwgetc(); ! 23: error("Process died."); ! 24: } else { ! 25: register struct ww *w = wwcurwin; ! 26: register char *p; ! 27: register n; ! 28: ! 29: wwiomux(); ! 30: if (wwibp < wwibq) { ! 31: for (p = wwibp; p < wwibq && *p != escapec; ! 32: p++) ! 33: ; ! 34: if ((n = p - wwibp) > 0) { ! 35: if (!w->ww_ispty && w->ww_stopped) ! 36: startwin(w); ! 37: (void) write(w->ww_pty, wwibp, n); ! 38: wwibp = p; ! 39: } ! 40: if (wwpeekc() == escapec) { ! 41: (void) wwgetc(); ! 42: setcmd(1); ! 43: } ! 44: } ! 45: } ! 46: } ! 47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.