backout fix from sun and terminate input buffer
[unix-history] / usr / src / usr.bin / ex / ex_vops.c
index ea62f31..bddae71 100644 (file)
@@ -1,5 +1,5 @@
-/* Copyright (c) 1980 Regents of the University of California */
-static char *sccsid = "@(#)ex_vops.c   6.1 %G%";
+/* Copyright (c) 1981 Regents of the University of California */
+static char *sccsid = "@(#)ex_vops.c   7.3     %G%";
 #include "ex.h"
 #include "ex_tty.h"
 #include "ex_vis.h"
 #include "ex.h"
 #include "ex_tty.h"
 #include "ex_vis.h"
@@ -621,14 +621,16 @@ smallchange:
  * you are better off with slowopen.
  */
 voOpen(c, cnt)
  * you are better off with slowopen.
  */
 voOpen(c, cnt)
-       char c;
+       int c;  /* mjm: char --> int */
        register int cnt;
 {
        register int ind = 0, i;
        short oldhold = hold;
        register int cnt;
 {
        register int ind = 0, i;
        short oldhold = hold;
+       int oldmask;
 
        if (value(SLOWOPEN) || value(REDRAW) && AL && DL)
                cnt = 1;
 
        if (value(SLOWOPEN) || value(REDRAW) && AL && DL)
                cnt = 1;
+       oldmask = sigblock(sigmask(SIGWINCH));
        vsave();
        setLAST();
        if (value(AUTOINDENT))
        vsave();
        setLAST();
        if (value(AUTOINDENT))
@@ -676,6 +678,7 @@ voOpen(c, cnt)
        cursor = linebuf;
        linebuf[0] = 0;
        vappend('o', 1, ind);
        cursor = linebuf;
        linebuf[0] = 0;
        vappend('o', 1, ind);
+       (void)sigsetmask(oldmask);
 }
 
 /*
 }
 
 /*
@@ -713,7 +716,8 @@ vfilter()
 {
        register line *addr;
        register int cnt;
 {
        register line *addr;
        register int cnt;
-       char *oglobp, d;
+       char *oglobp;
+       short d;
 
        if ((cnt = xdw()) < 0)
                return;
 
        if ((cnt = xdw()) < 0)
                return;