X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftrace%2Flib_tracedmp.c;h=c8b7b05c20351b3fdc126d24057c1aa500e6df70;hp=6fd795c3d91faae2e1fe880369d1e9b15bcf126c;hb=79695a2ff354087dca5006351286f741ee8c82c4;hpb=8f527f87c0b979d9c2598ef5c3394463af288468 diff --git a/ncurses/trace/lib_tracedmp.c b/ncurses/trace/lib_tracedmp.c index 6fd795c3..c8b7b05c 100644 --- a/ncurses/trace/lib_tracedmp.c +++ b/ncurses/trace/lib_tracedmp.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * + * Copyright (c) 1998-2012,2016 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 * @@ -39,7 +39,7 @@ #include #include -MODULE_ID("$Id: lib_tracedmp.c,v 1.30 2008/08/03 15:44:31 tom Exp $") +MODULE_ID("$Id: lib_tracedmp.c,v 1.35 2016/05/28 23:30:01 tom Exp $") #ifdef TRACE @@ -68,13 +68,15 @@ _tracedump(const char *name, WINDOW *win) if (width < win->_maxx) ++width; if (++width + 1 > (int) my_length) { - my_length = 2 * (width + 1); + my_length = (unsigned) (2 * (width + 1)); my_buffer = typeRealloc(char, my_length, my_buffer); + if (my_buffer == 0) + return; } for (n = 0; n <= win->_maxy; ++n) { char *ep = my_buffer; - bool haveattrs, havecolors; + bool havecolors; /* * Dump A_CHARTEXT part. It is more important to make the grid line up @@ -82,16 +84,16 @@ _tracedump(const char *name, WINDOW *win) * we map those to '.' and '?' respectively. */ for (j = 0; j < width; ++j) { - chtype test = CharOf(win->_line[n].text[j]); - ep[j] = (UChar(test) == test + chtype test = (chtype) CharOf(win->_line[n].text[j]); + ep[j] = (char) ((UChar(test) == test #if USE_WIDEC_SUPPORT - && (win->_line[n].text[j].chars[1] == 0) + && (win->_line[n].text[j].chars[1] == 0) #endif - ) - ? (iscntrl(UChar(test)) - ? '.' - : UChar(test)) - : '?'; + ) + ? (iscntrl(UChar(test)) + ? '.' + : UChar(test)) + : '?'); } ep[j] = '\0'; _tracef("%s[%2d] %3ld%3ld ='%s'", @@ -113,7 +115,7 @@ _tracedump(const char *name, WINDOW *win) for (j = 0; j < width; ++j) { int test = WidecExt(win->_line[n].text[j]); if (test) { - ep[j] = test + '0'; + ep[j] = (char) (test + '0'); } else { ep[j] = ' '; } @@ -138,11 +140,11 @@ _tracedump(const char *name, WINDOW *win) if (pair >= 52) ep[j] = '?'; else if (pair >= 36) - ep[j] = pair + 'A'; + ep[j] = (char) (pair + 'A'); else if (pair >= 10) - ep[j] = pair + 'a'; + ep[j] = (char) (pair + 'a'); else if (pair >= 1) - ep[j] = pair + '0'; + ep[j] = (char) (pair + '0'); else ep[j] = ' '; } @@ -153,9 +155,9 @@ _tracedump(const char *name, WINDOW *win) for (i = 0; i < 4; ++i) { const char *hex = " 123456789ABCDEF"; - attr_t mask = (0xf << ((i + 4) * 4)); + attr_t mask = (attr_t) (0xf << ((i + 4) * 4)); + bool haveattrs = FALSE; - haveattrs = FALSE; for (j = 0; j < width; ++j) if (AttrOf(win->_line[n].text[j]) & mask) { haveattrs = TRUE;