summaryrefslogtreecommitdiff
path: root/lib/libncurses/lib_addch.c
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1994-12-02 19:43:34 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1994-12-02 19:43:34 +0000
commit303f46f59156621a31ea404d347dcd0b32d8943e (patch)
tree8cf08bf2cc045a4c4b87eaab8fdf51bfe023d764 /lib/libncurses/lib_addch.c
parent4274bc80ca6d1b955405cc933bc83b78b253a31a (diff)
Notes
Diffstat (limited to 'lib/libncurses/lib_addch.c')
-rw-r--r--lib/libncurses/lib_addch.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libncurses/lib_addch.c b/lib/libncurses/lib_addch.c
index 00684eddd1d1..5ec657640e90 100644
--- a/lib/libncurses/lib_addch.c
+++ b/lib/libncurses/lib_addch.c
@@ -56,10 +56,14 @@ chtype ch = c;
T(("win attr = %x", win->_attrs));
ch |= win->_attrs;
- if (win->_line[y][x]&A_CHARTEXT == ' ')
- ch |= win->_bkgd;
+ /* Don't attempt to replace any given attributes */
+ if ((ch&A_ATTRIBUTES) == A_NORMAL) {
+ if (ch == ' ')
+ ch = win->_bkgd;
else
ch |= (win->_bkgd&A_ATTRIBUTES);
+ }
+
T(("bkg = %x -> ch = %x", win->_bkgd, ch));
if (win->_line[y][x] != ch) {