summaryrefslogtreecommitdiff
path: root/xc/programs/xterm
diff options
context:
space:
mode:
authorgildea <empty>1994-04-02 17:34:36 +0000
committergildea <empty>1994-04-02 17:34:36 +0000
commitb44166fb0d49f93f681a522552b53eed99ff6d6b (patch)
tree4c9a72aa883382db9c9e6055884bb7ba2ca75b41 /xc/programs/xterm
parentd998a25fb6de6062da4016e32376791020d7d9f9 (diff)
ScreenWrite: save LINEWRAPPED bit as ScrnInsertChar does. XBUG #6442.
Diffstat (limited to 'xc/programs/xterm')
-rw-r--r--xc/programs/xterm/screen.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/xc/programs/xterm/screen.c b/xc/programs/xterm/screen.c
index 695719dbb..07172c09b 100644
--- a/xc/programs/xterm/screen.c
+++ b/xc/programs/xterm/screen.c
@@ -1,5 +1,5 @@
/*
- * $XConsortium: screen.c,v 1.31 93/07/02 17:26:02 rws Exp $
+ * $XConsortium: screen.c,v 1.32 93/09/20 17:42:26 hersh Exp $
*/
/*
@@ -166,9 +166,10 @@ char *str;
register unsigned flags;
register int length; /* length of string */
{
- register Char *attrs;
+ register Char *attrs, *attrs0;
register int avail = screen->max_col - screen->cur_col + 1;
register Char *col;
+ register int wrappedbit;
if (length > avail)
length = avail;
@@ -176,12 +177,15 @@ register int length; /* length of string */
return;
col = screen->buf[avail = 2 * screen->cur_row] + screen->cur_col;
- attrs = screen->buf[avail + 1] + screen->cur_col;
+ attrs = attrs0 = screen->buf[avail + 1] + screen->cur_col;
+ wrappedbit = *attrs0&LINEWRAPPED;
flags &= ATTRIBUTES;
flags |= CHARDRAWN;
memmove( col, str, length);
while(length-- > 0)
*attrs++ = flags;
+ if (wrappedbit)
+ *attrs0 |= LINEWRAPPED;
}
ScrnInsertLine (sb, last, where, n, size)