ncurses 6.1 - patch 20180210
[ncurses.git] / ncurses / trace / lib_tracedmp.c
index c7fcbf2e0d56c7bc57208a719ec511110401d6dd..c8b7b05c20351b3fdc126d24057c1aa500e6df70 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2008,2009 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 <curses.priv.h>
 #include <ctype.h>
 
-MODULE_ID("$Id: lib_tracedmp.c,v 1.32 2009/04/18 21:01:38 tom Exp $")
+MODULE_ID("$Id: lib_tracedmp.c,v 1.35 2016/05/28 23:30:01 tom Exp $")
 
 #ifdef TRACE
 
@@ -70,11 +70,13 @@ _tracedump(const char *name, WINDOW *win)
     if (++width + 1 > (int) my_length) {
        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
@@ -111,7 +113,7 @@ _tracedump(const char *name, WINDOW *win)
            if (multicolumn) {
                ep = my_buffer;
                for (j = 0; j < width; ++j) {
-                   chtype test = WidecExt(win->_line[n].text[j]);
+                   int test = WidecExt(win->_line[n].text[j]);
                    if (test) {
                        ep[j] = (char) (test + '0');
                    } else {
@@ -154,8 +156,8 @@ _tracedump(const char *name, WINDOW *win)
        for (i = 0; i < 4; ++i) {
            const char *hex = " 123456789ABCDEF";
            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;