X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_color.c;h=50d580ec72266561ee4330c020deda58b75e1eae;hp=3364c3f5be45055e79cd53634519c96d8460b491;hb=d1a026123ac051716cdc16278345c1fb5c843b79;hpb=c120fddebe9e9c1e2b29dbd744a6b1d03652bf8b;ds=inline diff --git a/ncurses/base/lib_color.c b/ncurses/base/lib_color.c index 3364c3f5..50d580ec 100644 --- a/ncurses/base/lib_color.c +++ b/ncurses/base/lib_color.c @@ -45,7 +45,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_color.c,v 1.99 2011/04/23 18:22:22 tom Exp $") +MODULE_ID("$Id: lib_color.c,v 1.101 2011/05/28 21:57:59 tom Exp $") #ifdef USE_TERM_DRIVER #define CanChange InfoOf(SP_PARM).canchange @@ -629,8 +629,15 @@ init_color(short color, short r, short g, short b) NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (NCURSES_SP_DCL) { + int result = FALSE; + T((T_CALLED("can_change_color(%p)"), (void *) SP_PARM)); - returnCode((CanChange != 0) ? TRUE : FALSE); + + if (HasTerminal(SP_PARM) && (CanChange != 0)) { + result = TRUE; + } + + returnCode(result); } #if NCURSES_SP_FUNCS @@ -644,20 +651,22 @@ can_change_color(void) NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (NCURSES_SP_DCL0) { - int code; + int code = FALSE; (void) SP_PARM; T((T_CALLED("has_colors()"))); + if (HasTerminal(SP_PARM)) { #ifdef USE_TERM_DRIVER - code = HasColor; + code = HasColor; #else - code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs) - && (((set_foreground != NULL) - && (set_background != NULL)) - || ((set_a_foreground != NULL) - && (set_a_background != NULL)) - || set_color_pair)) ? TRUE : FALSE); + code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs) + && (((set_foreground != NULL) + && (set_background != NULL)) + || ((set_a_foreground != NULL) + && (set_a_background != NULL)) + || set_color_pair)) ? TRUE : FALSE); #endif + } returnCode(code); }