X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fwidechar%2Flib_vid_attr.c;h=a35c50e48784a485999fb937d9679056d6f0c1d1;hp=ef64c72398dcd10dc7788d48e8a44078ac5a5daa;hb=03f728e5bb3630a54fffc4a2ff2f8dbfcce9088e;hpb=cf94c7485f7b40ff7870b5bf9a65e7ab87481a76 diff --git a/ncurses/widechar/lib_vid_attr.c b/ncurses/widechar/lib_vid_attr.c index ef64c723..a35c50e4 100644 --- a/ncurses/widechar/lib_vid_attr.c +++ b/ncurses/widechar/lib_vid_attr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. * + * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -36,7 +36,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_vid_attr.c,v 1.13 2010/03/31 23:22:35 tom Exp $") +MODULE_ID("$Id: lib_vid_attr.c,v 1.15 2011/05/28 21:25:07 tom Exp $") #define doPut(mode) TPUTS_TRACE(#mode); NCURSES_SP_NAME(tputs)(NCURSES_SP_ARGx mode, 1, outc) @@ -59,7 +59,9 @@ MODULE_ID("$Id: lib_vid_attr.c,v 1.13 2010/03/31 23:22:35 tom Exp $") } \ } -#define set_color(mode, pair) mode &= ALL_BUT_COLOR; mode |= ColorPair(pair) +#define set_color(mode, pair) \ + mode &= ALL_BUT_COLOR; \ + mode |= (attr_t) ColorPair(pair) NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (NCURSES_SP_DCLx @@ -294,24 +296,26 @@ vid_attr(attr_t newmode, short pair, void *opts) NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (NCURSES_SP_DCL0) { - attr_t attrs; + attr_t attrs = 0; T((T_CALLED("term_attrs()"))); - attrs = SP_PARM ? NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG) : 0; - - /* these are only supported for wide-character mode */ - if (enter_horizontal_hl_mode) - attrs |= WA_HORIZONTAL; - if (enter_left_hl_mode) - attrs |= WA_LEFT; - if (enter_low_hl_mode) - attrs |= WA_LOW; - if (enter_right_hl_mode) - attrs |= WA_RIGHT; - if (enter_top_hl_mode) - attrs |= WA_TOP; - if (enter_vertical_hl_mode) - attrs |= WA_VERTICAL; + if (SP_PARM) { + attrs = NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG); + + /* these are only supported for wide-character mode */ + if (enter_horizontal_hl_mode) + attrs |= WA_HORIZONTAL; + if (enter_left_hl_mode) + attrs |= WA_LEFT; + if (enter_low_hl_mode) + attrs |= WA_LOW; + if (enter_right_hl_mode) + attrs |= WA_RIGHT; + if (enter_top_hl_mode) + attrs |= WA_TOP; + if (enter_vertical_hl_mode) + attrs |= WA_VERTICAL; + } returnAttr(attrs); }