Index: trunk/psLib/test/sysUtils/tst_psHash03.c
===================================================================
--- trunk/psLib/test/sysUtils/tst_psHash03.c	(revision 1022)
+++ trunk/psLib/test/sysUtils/tst_psHash03.c	(revision 1073)
@@ -19,4 +19,5 @@
 }
 ID;
+static void IdFree(ID *id);
 
 // NOTE: This is my own little routine I used in debugging a memory
@@ -48,4 +49,5 @@
 
     id = psAlloc(sizeof(ID));
+    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
 
     id->name = psStringCopy(name);
@@ -58,5 +60,4 @@
     imGlobal++;
     psFree(id->name);
-    psFree(id);
 }
 
@@ -82,6 +83,5 @@
     i = 0;
     while (myKeys[i] != NULL) {
-        psHashInsert(myHashTable, myKeys[i], IdAlloc(myData[i]),
-                     (void (*)(void *))IdFree);
+        psHashInsert(myHashTable, myKeys[i], IdAlloc(myData[i]));
         i++;
     }
@@ -101,9 +101,9 @@
     i = 0;
     while (myKeys[i] != NULL) {
-        id = psHashRemove(myHashTable, myKeys[i], (void (*)(void *))IdFree);
+        id = psHashRemove(myHashTable, myKeys[i]);
         // The psHashRemove() procedure removes the entry from the hash
         // table, but does not delete the data.  The following is necessary
         // to delete the data as well (which is returned from the call).
-        IdFree(id);
+        psFree(id);
         id = psHashLookup(myHashTable, myKeys[i]);
         if (id != NULL) {
@@ -119,6 +119,6 @@
                 testStatus);
 
-    psHashFree(myHashTable, (void (*)(void *))IdFree);
-    memLeaks = psMemCheckLeaks(currentId,NULL,NULL);
+    psFree(myHashTable);
+    memLeaks = psMemCheckLeaks(currentId,NULL,stdout);
     if (0 != memLeaks) {
         psAbort(__func__,"Memory Leaks! (%d leaks)", memLeaks);
