Annotation of 43BSD/ucb/window/mloop.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.