Index: trunk/psLib/src/sys/psTrace.c
===================================================================
--- trunk/psLib/src/sys/psTrace.c	(revision 1013)
+++ trunk/psLib/src/sys/psTrace.c	(revision 1081)
@@ -9,6 +9,6 @@
  *  @author George Gusciora, MHPCC
  *
- *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-06-12 05:50:01 $
+ *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-06-24 03:12:19 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -40,13 +40,18 @@
 #include "psError.h"
 
-static Component *p_psCroot = NULL;       // The root of the trace component
+static p_psComponent *p_psCroot = NULL;       // The root of the trace component
 static FILE *p_psTraceFP = NULL;          // File destination for messages.
+
+static void componentFree(p_psComponent *comp);
+static p_psComponent *componentAlloc(const char *name,int level);
+
 /*****************************************************************************
 componentAlloc(): allocate memory for a new node, and initialize members.
  *****************************************************************************/
-Component *componentAlloc(const char *name,
-                          int level)
-{
-    Component *comp = psAlloc(sizeof(Component));
+static p_psComponent *componentAlloc(const char *name,
+                                     int level)
+{
+    p_psComponent *comp = psAlloc(sizeof(p_psComponent));
+    p_psMemSetDeallocator(comp,(psFreeFcn)componentFree);
     comp->name = psStringCopy(name);
     comp->level = level;
@@ -61,5 +66,5 @@
 nodes as well.
  *****************************************************************************/
-static void componentFree(Component *comp)
+static void componentFree(p_psComponent *comp)
 {
     if (comp == NULL) {
@@ -69,5 +74,5 @@
     if (comp->subcomp != NULL) {
         for (int i = 0; i < comp->n; i++) {
-            componentFree(comp->subcomp[i]);
+            psFree(comp->subcomp[i]);
         }
         psFree(comp->subcomp);
@@ -75,5 +80,4 @@
 
     psFree((char *)comp->name);
-    psFree(comp);
 }
 
@@ -93,5 +97,5 @@
 Set all trace levels to zero.
  *****************************************************************************/
-void p_psTraceReset(Component *currentNode)
+void p_psTraceReset(p_psComponent *currentNode)
 {
     int i = 0;
@@ -128,5 +132,5 @@
 void psTraceFree()
 {
-    componentFree(p_psCroot);
+    psFree(p_psCroot);
 }
 
@@ -145,5 +149,5 @@
     char      *pname=name;
     char      *firstComponent = NULL;       // first component of name
-    Component *currentNode = p_psCroot;
+    p_psComponent *currentNode = p_psCroot;
     int        nodeExists = 0;
 
@@ -181,5 +185,5 @@
         if (nodeExists == 0) {
             currentNode->subcomp = psRealloc(currentNode->subcomp,
-                                             (currentNode->n + 1) * sizeof(Component *));
+                                             (currentNode->n + 1) * sizeof(p_psComponent*));
             currentNode->n = (currentNode->n)+1;
 
@@ -237,5 +241,5 @@
     char      *pname=name;
     char      *firstComponent = NULL;   // first component of name
-    Component *currentNode = p_psCroot;
+    p_psComponent *currentNode = p_psCroot;
     int        i = 0;
 
@@ -310,5 +314,5 @@
  null
  *****************************************************************************/
-static void doPrintTraceLevels(const Component *comp,
+static void doPrintTraceLevels(const p_psComponent *comp,
                                int depth)
 {
