diff options
author | gildea <empty> | 1994-04-02 17:34:36 +0000 |
---|---|---|
committer | gildea <empty> | 1994-04-02 17:34:36 +0000 |
commit | b44166fb0d49f93f681a522552b53eed99ff6d6b (patch) | |
tree | 4c9a72aa883382db9c9e6055884bb7ba2ca75b41 /xc/programs/xterm | |
parent | d998a25fb6de6062da4016e32376791020d7d9f9 (diff) |
ScreenWrite: save LINEWRAPPED bit as ScrnInsertChar does. XBUG #6442.
Diffstat (limited to 'xc/programs/xterm')
-rw-r--r-- | xc/programs/xterm/screen.c | 10 |
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) |