Index: trunk/psLib/src/collections/psCollectionsErrors.dat
===================================================================
--- trunk/psLib/src/collections/psCollectionsErrors.dat	(revision 1820)
+++ trunk/psLib/src/collections/psCollectionsErrors.dat	(revision 1841)
@@ -25,2 +25,7 @@
 psScalar_UNSUPPORTED_TYPE              Specified datatype (%d) is unsupported by psScalar.
 psScalar_COPY_NULL                     Can not copy a NULL psScalar.
+#
+psHash_KEY_NULL                        Input key can not be NULL.
+psHash_TABLE_NULL                      Input psHash can not be NULL.
+psHash_DATA_NULL                       Input data can not be NULL.
+
Index: trunk/psLib/src/collections/psCollectionsErrors.h
===================================================================
--- trunk/psLib/src/collections/psCollectionsErrors.h	(revision 1820)
+++ trunk/psLib/src/collections/psCollectionsErrors.h	(revision 1841)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-09-14 20:01:52 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-09-21 23:15:04 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -45,4 +45,7 @@
 #define PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE "Specified datatype (%d) is unsupported by psScalar."
 #define PS_ERRORTEXT_psScalar_COPY_NULL "Can not copy a NULL psScalar."
+#define PS_ERRORTEXT_psHash_KEY_NULL "Input key can not be NULL."
+#define PS_ERRORTEXT_psHash_TABLE_NULL "Input psHash can not be NULL."
+#define PS_ERRORTEXT_psHash_DATA_NULL "Input data can not be NULL."
 //~End
 
Index: trunk/psLib/src/collections/psHash.c
===================================================================
--- trunk/psLib/src/collections/psHash.c	(revision 1820)
+++ trunk/psLib/src/collections/psHash.c	(revision 1841)
@@ -11,6 +11,6 @@
 *  @author George Gusciora, MHPCC
 *
-*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-09-09 02:23:27 $
+*  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-09-21 23:15:04 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -24,5 +24,8 @@
 #include "psString.h"
 #include "psTrace.h"
+#include "psError.h"
 #include "psAbort.h"
+
+#include "psCollectionsErrors.h"
 
 static psHashBucket* hashBucketAlloc(const char *key, void *data, psHashBucket* next);
@@ -83,7 +86,4 @@
 static psHashBucket* hashBucketAlloc(const char *key, void *data, psHashBucket* next)
 {
-    if (key == NULL) {
-        psAbort(__func__, "psHashBucket() called with NULL key.");
-    }
     // Allocate memory for the new hash bucket.
     psHashBucket* bucket = psAlloc(sizeof(psHashBucket));
@@ -226,6 +226,8 @@
     // the way this procedure is called.
     if ((table == NULL) || (key == NULL)) {
-
-        psAbort(__func__, "psHashRemove() called with NULL key or table.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "doHashWork",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_KEY_NULL);
+        return NULL;
     }
     // NOTE: This is the originally supplied hash function.
@@ -341,11 +343,19 @@
 {
     if (table == NULL) {
-        psAbort(__func__, "psHashInsert() called with NULL hash table.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashAdd",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_KEY_NULL);
+        return false;
     }
     if (key == NULL) {
-        psAbort(__func__, "psHashInsert() called with NULL key.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashAdd",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_TABLE_NULL);
+        return false;
     }
     if (data == NULL) {
-        psAbort(__func__, "psHashLookup() called with NULL data.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashAdd",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_DATA_NULL);
     }
 
@@ -368,8 +378,14 @@
 {
     if (table == NULL) {
-        psAbort(__func__, "psHashLookup() called with NULL hash table.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashLookup",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_KEY_NULL);
+        return NULL;
     }
     if (key == NULL) {
-        psAbort(__func__, "psHashLookup() called with NULL key.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashLookup",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_TABLE_NULL);
+        return NULL;
     }
 
@@ -393,8 +409,14 @@
 
     if (table == NULL) {
-        psAbort(__func__, "psHashRemove() called with NULL hash table.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashRemove",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_TABLE_NULL);
+        return false;
     }
     if (key == NULL) {
-        psAbort(__func__, "psHashRemove() called with NULL key.");
+        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashRemove",
+                   PS_ERR_BAD_PARAMETER_NULL, true,
+                   PS_ERRORTEXT_psHash_KEY_NULL);
+        return false;
     }
 
