X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Ftrace%2Flib_traceatr.c;h=688c4e727c1983a8cf036088c277d4fe9e76cfbf;hb=bca50d0d8592defee6c584fdedd25f4b1a31345b;hp=f62a8a73793d924c8c3541d8a09b3ae7e1821952;hpb=e2e9c09c48b19b24979cafb2d4864f538b5ddd1c;p=ncurses.git diff --git a/ncurses/trace/lib_traceatr.c b/ncurses/trace/lib_traceatr.c index f62a8a73..688c4e72 100644 --- a/ncurses/trace/lib_traceatr.c +++ b/ncurses/trace/lib_traceatr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2016 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2018 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 * @@ -43,7 +43,7 @@ #define CUR SP_TERMTYPE #endif -MODULE_ID("$Id: lib_traceatr.c,v 1.87 2016/09/05 00:44:51 tom Exp $") +MODULE_ID("$Id: lib_traceatr.c,v 1.91 2018/01/07 02:22:01 tom Exp $") #define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name)) @@ -67,7 +67,7 @@ color_of(int c) if (c != my_cached) { my_cached = c; my_select = !my_select; - if (c == COLOR_DEFAULT) + if (isDefaultColor(c)) _nc_STRCPY(my_buffer[my_select], "default", COLOR_BUF_SIZE(my_select)); else @@ -362,9 +362,9 @@ _tracecchar_t2(int bufnum, const cchar_t *ch) } else if (ch->chars[PUTC_i] > 255) { char temp[80]; _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) - "{%d:\\u%x}", + "{%d:\\u%lx}", wcwidth(ch->chars[PUTC_i]), - ch->chars[PUTC_i]); + (unsigned long) ch->chars[PUTC_i]); (void) _nc_trace_bufcat(bufnum, temp); break; } @@ -382,6 +382,18 @@ _tracecchar_t2(int bufnum, const cchar_t *ch) (void) _nc_trace_bufcat(bufnum, " | "); (void) _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr)); } +#if NCURSES_EXT_COLORS + /* + * Just in case the extended color is different from the chtype + * value, trace both. + */ + if (ch->ext_color != PairNumber(attr)) { + char temp[80]; + _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) + " X_COLOR{%d:%d}", ch->ext_color, PairNumber(attr)); + (void) _nc_trace_bufcat(bufnum, temp); + } +#endif } result = _nc_trace_bufcat(bufnum, r_brace);