]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tty/tty_update.c
ncurses 5.9 - patch 20130525
[ncurses.git] / ncurses / tty / tty_update.c
index e9ad69811951f9831895fa162e710dd0f8b85eac..3addd02e745717ef290c12c7887c9e7b583cdc89 100644 (file)
@@ -82,7 +82,7 @@
 
 #include <ctype.h>
 
-MODULE_ID("$Id: tty_update.c,v 1.274 2013/01/12 17:24:22 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.276 2013/02/16 21:12:02 tom Exp $")
 
 /*
  * This define controls the line-breakout optimization.  Every once in a
@@ -491,11 +491,12 @@ can_clear_with(NCURSES_SP_DCLx ARG_CH_T ch)
            return FALSE;
        if ((pair = GetPair(CHDEREF(ch))) != 0) {
            short fg, bg;
-           NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
-                                          (short) pair,
-                                          &fg, &bg);
-           if (fg != C_MASK || bg != C_MASK)
+           if (NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
+                                              (short) pair,
+                                              &fg, &bg) == ERR
+               || (fg != C_MASK || bg != C_MASK)) {
                return FALSE;
+           }
        }
 #else
        if (AttrOfD(ch) & A_COLOR)
@@ -1117,6 +1118,11 @@ ClrToEOS(NCURSES_SP_DCLx NCURSES_CH_T blank)
     row = SP_PARM->_cursrow;
     col = SP_PARM->_curscol;
 
+    if (row < 0)
+       row = 0;
+    if (col < 0)
+       col = 0;
+
     UpdateAttrs(SP_PARM, blank);
     TPUTS_TRACE("clr_eos");
     NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx