/****************************************************************************
- * Copyright (c) 1999-2007,2008 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2011,2012 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 *
****************************************************************************/
/****************************************************************************
- * Author: Thomas E. Dickey <dickey@clark.net> 1999 *
+ * Author: Thomas E. Dickey 1999 *
****************************************************************************/
/*
* trace_tries.c - Tracing/Debugging buffers (keycode tries-trees)
#include <curses.priv.h>
-MODULE_ID("$Id: trace_tries.c,v 1.13 2008/08/03 15:43:30 tom Exp $")
+MODULE_ID("$Id: trace_tries.c,v 1.17 2012/10/27 20:50:50 tom Exp $")
#ifdef TRACE
#define my_buffer _nc_globals.tracetry_buf
{
if (level > my_length) {
my_length = (level + 1) * 4;
- my_buffer = (unsigned char *) realloc(my_buffer, my_length);
+ my_buffer = (unsigned char *) _nc_doalloc(my_buffer, my_length);
}
- while (tree != 0) {
- if ((my_buffer[level] = tree->ch) == 0)
- my_buffer[level] = 128;
- my_buffer[level + 1] = 0;
- if (tree->value != 0) {
- _tracef("%5d: %s (%s)", tree->value,
- _nc_visbuf((char *) my_buffer), keyname(tree->value));
+ if (my_buffer != 0) {
+ while (tree != 0) {
+ if ((my_buffer[level] = tree->ch) == 0)
+ my_buffer[level] = 128;
+ my_buffer[level + 1] = 0;
+ if (tree->value != 0) {
+ _tracef("%5d: %s (%s)", tree->value,
+ _nc_visbuf((char *) my_buffer), keyname(tree->value));
+ }
+ if (tree->child)
+ recur_tries(tree->child, level + 1);
+ tree = tree->sibling;
}
- if (tree->child)
- recur_tries(tree->child, level + 1);
- tree = tree->sibling;
}
}
NCURSES_EXPORT(void)
_nc_trace_tries(TRIES * tree)
{
- my_buffer = typeMalloc(unsigned char, my_length = 80);
- _tracef("BEGIN tries %p", tree);
- recur_tries(tree, 0);
- _tracef(". . . tries %p", tree);
- free(my_buffer);
+ if ((my_buffer = typeMalloc(unsigned char, my_length = 80)) != 0) {
+ _tracef("BEGIN tries %p", (void *) tree);
+ recur_tries(tree, 0);
+ _tracef(". . . tries %p", (void *) tree);
+ free(my_buffer);
+ }
}
#else
-EMPTY_MODULE(_nc_trace_tries)
+EMPTY_MODULE(_nc_empty_trace_tries)
#endif