Index: trunk/psLib/src/collections/psBitSet.c
===================================================================
--- trunk/psLib/src/collections/psBitSet.c	(revision 2221)
+++ trunk/psLib/src/collections/psBitSet.c	(revision 2273)
@@ -11,6 +11,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-27 00:57:31 $
+ *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-11-04 01:04:57 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -72,8 +72,7 @@
 
     if (n < 0) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetAlloc",
-                   PS_ERR_BAD_PARAMETER_VALUE, true,
-                   PS_ERRORTEXT_psBitSet_ALLOC_NEG_SIZE,
-                   n);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psBitSet_ALLOC_NEG_SIZE,
+                n);
         return NULL;
     }
@@ -99,14 +98,12 @@
 
     if (inBitSet == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetSet",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psBitSet_SET_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psBitSet_SET_NULL);
         return inBitSet;
     } else if ( (bit < 0) ||
                 (bit > inBitSet->n * 8 - 1) ) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetSet",
-                   PS_ERR_BAD_PARAMETER_VALUE, true,
-                   PS_ERRORTEXT_psBitSet_BIT_OUTOFRANGE,
-                   bit,inBitSet->n * 8 - 1);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psBitSet_BIT_OUTOFRANGE,
+                bit,inBitSet->n * 8 - 1);
         return inBitSet;
     }
@@ -124,14 +121,12 @@
 
     if (inBitSet == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetClear",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psBitSet_SET_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psBitSet_SET_NULL);
         return inBitSet;
     } else if ( (bit < 0) ||
                 (bit > inBitSet->n * 8 - 1) ) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetClear",
-                   PS_ERR_BAD_PARAMETER_VALUE, true,
-                   PS_ERRORTEXT_psBitSet_BIT_OUTOFRANGE,
-                   bit,inBitSet->n * 8 - 1);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psBitSet_BIT_OUTOFRANGE,
+                bit,inBitSet->n * 8 - 1);
         return inBitSet;
     }
@@ -149,14 +144,12 @@
 
     if (inBitSet == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetTest",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psBitSet_SET_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psBitSet_SET_NULL);
         return false;
     } else if ( (bit < 0) ||
                 (bit > inBitSet->n * 8 - 1) ) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetTest",
-                   PS_ERR_BAD_PARAMETER_VALUE, true,
-                   PS_ERRORTEXT_psBitSet_BIT_OUTOFRANGE,
-                   bit,inBitSet->n * 8 - 1);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psBitSet_BIT_OUTOFRANGE,
+                bit,inBitSet->n * 8 - 1);
         return false;
     }
@@ -180,7 +173,6 @@
 
     if (inBitSet1 == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetOp",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psBitSet_FIRST_OPERAND_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psBitSet_FIRST_OPERAND_NULL);
         psFree(outBitSet);
         return NULL;
@@ -189,7 +181,6 @@
 
     if (operator == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetOp",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psBitSet_OPERATOR_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psBitSet_OPERATOR_NULL);
         psFree(outBitSet);
         return NULL;
@@ -217,8 +208,7 @@
         psFree(tempStr);
         psFree(outBitSet);
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetOp",
-                   PS_ERR_BAD_PARAMETER_VALUE, true,
-                   PS_ERRORTEXT_psBitSet_OPERATOR_INVALID,
-                   operator);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psBitSet_OPERATOR_INVALID,
+                operator);
         return NULL;
     }
@@ -227,7 +217,6 @@
     if (op != NOT_OP) {
         if (inBitSet2 == NULL) {
-            psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetOp",
-                       PS_ERR_BAD_PARAMETER_NULL, true,
-                       PS_ERRORTEXT_psBitSet_SECOND_OPERAND_NULL);
+            psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                    PS_ERRORTEXT_psBitSet_SECOND_OPERAND_NULL);
             psFree(outBitSet);
             return NULL;
@@ -235,7 +224,6 @@
 
         if (inBitSet1->n != inBitSet2->n) {
-            psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetOp",
-                       PS_ERR_BAD_PARAMETER_SIZE, true,
-                       PS_ERRORTEXT_psBitSet_OPERANDS_SIZE_DIFFER);
+            psError(PS_ERR_BAD_PARAMETER_SIZE, true,
+                    PS_ERRORTEXT_psBitSet_OPERANDS_SIZE_DIFFER);
             psFree(outBitSet);
             return NULL;
@@ -287,7 +275,6 @@
 {
     if (inBitSet == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetNot",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psBitSet_OPERAND_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psBitSet_OPERAND_NULL);
         psFree(outBitSet);
         return NULL;
@@ -297,7 +284,6 @@
 
     if (outBitSet == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psBitSetNot",
-                   PS_ERR_UNKNOWN, false,
-                   PS_ERRORTEXT_psBitSet_NOT_OP_FAILED);
+        psError(PS_ERR_UNKNOWN, false,
+                PS_ERRORTEXT_psBitSet_NOT_OP_FAILED);
     }
 
Index: trunk/psLib/src/collections/psHash.c
===================================================================
--- trunk/psLib/src/collections/psHash.c	(revision 2221)
+++ trunk/psLib/src/collections/psHash.c	(revision 2273)
@@ -11,6 +11,6 @@
 *  @author George Gusciora, MHPCC
 *
-*  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-10-27 23:31:43 $
+*  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-11-04 01:04:57 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -228,7 +228,6 @@
     // the way this procedure is called.
     if ((table == NULL) || (key == NULL)) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "doHashWork",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_KEY_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_KEY_NULL);
         return NULL;
     }
@@ -249,5 +248,6 @@
     // anyway.
     if ((hash < 0) || (hash >= table->nbucket)) {
-        psError(__func__, "Internal hash function out of range (%d)", hash);
+        psError(PS_ERR_UNKNOWN, true,
+                "Internal hash function out of range (%d)", hash);
     }
     // ptr will have the correct hash bucket.
@@ -347,19 +347,16 @@
 {
     if (table == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashAdd",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_KEY_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_KEY_NULL);
         return false;
     }
     if (key == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashAdd",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_TABLE_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_TABLE_NULL);
         return false;
     }
     if (data == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashAdd",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_DATA_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_DATA_NULL);
     }
 
@@ -382,13 +379,11 @@
 {
     if (table == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashLookup",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_KEY_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_KEY_NULL);
         return NULL;
     }
     if (key == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashLookup",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_TABLE_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_TABLE_NULL);
         return NULL;
     }
@@ -414,13 +409,11 @@
 
     if (table == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashRemove",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_TABLE_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_TABLE_NULL);
         return false;
     }
     if (key == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psHashRemove",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psHash_KEY_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psHash_KEY_NULL);
         return false;
     }
Index: trunk/psLib/src/collections/psList.c
===================================================================
--- trunk/psLib/src/collections/psList.c	(revision 2221)
+++ trunk/psLib/src/collections/psList.c	(revision 2273)
@@ -6,6 +6,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-27 00:57:31 $
+ *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-11-04 01:04:57 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -136,5 +136,6 @@
 
         if (position == NULL) {
-            psError(__func__, "%s failed to move cursor to specified location (%d)", __func__, location);
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "Failed to move cursor to specified location (%d)", location);
             position = list->head;         // since we no list->size != 0, this must be non-NULL
         }
@@ -173,5 +174,5 @@
 
     if (list == NULL) {
-        psError(__func__, "list parameter found to be NULL in %s", __func__);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true, "list parameter found to be NULL.");
         return false;
     }
@@ -194,5 +195,5 @@
 
         if (location == PS_LIST_UNKNOWN) {
-            psError(__func__, "Failed to find item in given psList.");
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Failed to find item in given psList.");
             pthread_mutex_unlock(&list->lock)
             ;
@@ -206,5 +207,6 @@
 
     if (elem == NULL) {
-        psError(__func__, "Couldn't position to given index (%d) to remove element from list.", location);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                "Couldn't position to given index (%d) to remove element from list.", location);
         pthread_mutex_unlock(&list->lock)
         ;
@@ -257,5 +259,6 @@
 
     if (list == NULL) {
-        psError(__func__, "Unexpected null pointer for psList parameter (%s:%d).", __FILE__, __LINE__);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                "Unexpected null pointer for psList parameter.");
         return;
     }
@@ -314,5 +317,6 @@
     default:
         if (where <= PS_LIST_HEAD) {   // bascially same as PS_LIST_UNKNOWN above
-            psError(__func__, "Can't move to an unknown position.  Not moving the iterator position.");
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "Can't move to an unknown position.  Not moving the iterator position.");
         } else {
             cursor = listGetIterator(list);
Index: trunk/psLib/src/collections/psMetadata.c
===================================================================
--- trunk/psLib/src/collections/psMetadata.c	(revision 2221)
+++ trunk/psLib/src/collections/psMetadata.c	(revision 2273)
@@ -12,6 +12,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.35 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-10-27 00:57:30 $
+*  @version $Revision: 1.36 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-11-04 01:04:57 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -35,4 +35,6 @@
 #include "psMetadata.h"
 #include "psString.h"
+#include "psAstronomyErrors.h"
+#include "psConstants.h"
 
 /******************************************************************************/
@@ -123,8 +125,6 @@
 
 
-    if (name == NULL) {
-        psError(__func__, "Null value for name not allowed");
-        return NULL;
-    }
+    PS_PTR_CHECK_NULL(name,NULL);
+
     // Allocate metadata item
     metadataItem = (psMetadataItem* ) psAlloc(sizeof(psMetadataItem));
@@ -147,9 +147,16 @@
     // Set metadata item type
     metadataItem->type = type;
+    metadataItem->data.V = NULL;
+
+    // Allocate metadata items with same name.
+    metadataItem->items = psListAlloc(NULL);
+
+    // Allocate and set metadata item name
+    metadataItem->name = (char *)psAlloc(sizeof(char) * MAX_STRING_LENGTH);
+    vsprintf(metadataItem->name, name, argPtr);
 
     // Set metadata item value
     switch (type) {
     case PS_META_ITEM_SET:
-        metadataItem->data.V = NULL;
         break;
     case PS_META_BOOL:
@@ -180,13 +187,10 @@
     case PS_META_UNKNOWN:
     default:
-        psError(__func__, "Invalid psMetadataType: %d", type);
-    }
-
-    // Allocate and set metadata item name
-    metadataItem->name = (char *)psAlloc(sizeof(char) * MAX_STRING_LENGTH);
-    vsprintf(metadataItem->name, name, argPtr);
-
-    // Allocate metadata items with same name.
-    metadataItem->items = psListAlloc(NULL);
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psMetadata_METATYPE_INVALID,
+                type);
+        psFree(metadataItem);
+        metadataItem = NULL;
+    }
 
     return metadataItem;
@@ -224,33 +228,14 @@
     psMetadataType newType = PS_META_ITEM_SET;
 
-    if(md == NULL) {
-        psError( __func__, "Null metadata collection not allowed" );
-        return false;
-    }
-
-    if(metadataItem == NULL) {
-        psError( __func__, "Null metadata item not allowed" );
-        return false;
-    }
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->table,NULL);
+    PS_PTR_CHECK_NULL(md->list,NULL);
+    PS_PTR_CHECK_NULL(metadataItem,NULL);
+    PS_PTR_CHECK_NULL(metadataItem->name,NULL);
 
     newType = metadataItem->type;
-
     mdTable = md->table;
-    if(mdTable == NULL) {
-        psError( __func__, "Null metadata table not allowed" );
-        return false;
-    }
-
     mdList = md->list;
-    if(mdList == NULL) {
-        psError( __func__, "Null metadata list not allowed");
-        return false;
-    }
-
     key = metadataItem->name;
-    if(key == NULL) {
-        psError(__func__, "Null key item not allowed");
-        return false;
-    }
 
     // See if key is already in table
@@ -262,6 +247,7 @@
             // Add leaf node to existing folder node
             if(!psListAdd(existingEntry->items, PS_LIST_TAIL, metadataItem)) {
-                psError( __func__, "Couldn't add metadata item to items list. Name: %s",
-                         metadataItem->name );
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_ADD_LIST_FAILED,
+                        metadataItem->name );
                 return false;
             }
@@ -272,5 +258,7 @@
 
             if(!psListAdd(newFolderEntry->items, PS_LIST_TAIL, existingEntry)) {
-                psError( __func__, "Couldn't add metadata item to items list. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_ADD_LIST_FAILED,
+                        key);
                 psFree(newFolderEntry);
                 return false;
@@ -278,5 +266,7 @@
 
             if(!psListAdd(newFolderEntry->items, PS_LIST_TAIL, metadataItem)) {
-                psError( __func__, "Couldn't add metadata item to items list. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_ADD_LIST_FAILED,
+                        key);
                 psFree(newFolderEntry);
                 return false;
@@ -284,5 +274,7 @@
 
             if(!psHashRemove(mdTable, key)) {
-                psError( __func__, "Couldn't remove metadata item from metadata table. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED,
+                        key);
                 psFree(newFolderEntry);
                 return false;
@@ -290,5 +282,7 @@
 
             if(!psHashAdd(mdTable, key, newFolderEntry)) {
-                psError( __func__, "Couldn't add metadata item to metadata table. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_ADD_TABLE_FAILED,
+                        key);
                 psFree(newFolderEntry);
                 return false;
@@ -301,15 +295,21 @@
             // Folder node replaces leaf or folder node - Put old node into new folder and remove from table
             if(!psListAdd(metadataItem->items, PS_LIST_TAIL, existingEntry)) {
-                psError( __func__, "Couldn't add metadata item to items list. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_ADD_LIST_FAILED,
+                        key);
                 return false;
             }
 
             if(!psHashRemove(mdTable, key)) {
-                psError( __func__, "Couldn't remove metadata item from metadata table. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED,
+                        key);
                 return false;
             }
 
             if(!psHashAdd(mdTable, key, metadataItem)) {
-                psError( __func__, "Couldn't add metadata item to metadata table. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_ADD_TABLE_FAILED,
+                        key);
                 return false;
             }
@@ -319,5 +319,7 @@
         // Node doesn't exist - Add new metadata item to metadata collection's hash
         if(!psHashAdd(mdTable, key, metadataItem)) {
-            psError( __func__, "Couldn't add metadata item to metadata table. Name: %s", key);
+            psError(PS_ERR_UNKNOWN,false,
+                    PS_ERRORTEXT_psMetadata_ADD_TABLE_FAILED,
+                    key);
             return false;
         }
@@ -328,6 +330,7 @@
     if(metadataItem->type != PS_META_ITEM_SET) {
         if(!psListAdd(mdList, location, metadataItem)) {
-            psError( __func__, "Couldn't add metadata item to metadata collection list. Name: %s",
-                     metadataItem->name );
+            psError(PS_ERR_UNKNOWN,false,
+                    PS_ERRORTEXT_psMetadata_ADD_COLLECTION_FAILED,
+                    key);
             return false;
         }
@@ -348,6 +351,6 @@
 
     if (!psMetadataAddItem(md, metadataItem, where)) {
-        psError(__func__, "Couldn't add metadata item to metadata collection list. Name: %s",
-                metadataItem->name);
+        psError(PS_ERR_UNKNOWN,false,
+                PS_ERRORTEXT_psMetadata_ADD_FAILED);
         psFree(metadataItem);
         return false;
@@ -368,20 +371,11 @@
 
 
-    if (md == NULL) {
-        psError(__func__, "Null metadata collection not allowed");
-        return false;
-    }
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->table,NULL);
+    PS_PTR_CHECK_NULL(md->list,NULL);
 
     mdList = md->list;
-    if (mdList == NULL) {
-        psError(__func__, "Null metadata list not allowed");
-        return false;
-    }
-
     mdTable = md->table;
-    if (mdTable == NULL) {
-        psError(__func__, "Null metadata table not allowed");
-        return false;
-    }
+
     // Select removal by key or index
     if (key != NULL) {
@@ -390,5 +384,7 @@
         entry = (psMetadataItem* ) psHashLookup(mdTable, key);
         if (entry == NULL) {
-            psError(__func__, "Couldn't find metadata item. Name: %s", key);
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    PS_ERRORTEXT_psMetadata_FIND_FAILED,
+                    key);
             return false;
         }
@@ -402,5 +398,7 @@
             while (entryChild != NULL) {
                 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entryChild)) {
-                    psError(__func__, "Couldn't remove metadata item from list. Name: %s", key);
+                    psError(PS_ERR_UNKNOWN,false,
+                            PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED,
+                            key);
                     return false;
                 }
@@ -411,5 +409,7 @@
             // Table entry has no children. Remove entry from metadata collection's list
             if (!psListRemove(mdList, PS_LIST_UNKNOWN, entry)) {
-                psError(__func__, "Couldn't remove metadata item from list. Name: %s", key);
+                psError(PS_ERR_UNKNOWN,false,
+                        PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED,
+                        key);
                 return false;
             }
@@ -417,5 +417,7 @@
         // Remove entry from metadata collection's table
         if (!psHashRemove(mdTable, key)) {
-            psError(__func__, "Couldn't remove metadata item from table. Name: %s", key);
+            psError(PS_ERR_UNKNOWN,false,
+                    PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED,
+                    key);
             return false;
         }
@@ -425,5 +427,7 @@
         entry = psListGet(mdList, where);
         if (entry == NULL) {
-            psError(__func__, "Couldn't find metadata item in list. Index: %d", where);
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    PS_ERRORTEXT_psMetadata_FIND_INDEX_FAILED,
+                    where);
             return false;
         }
@@ -431,5 +435,7 @@
         key = entry->name;
         if (key == NULL) {
-            psError(__func__, "Null key name not allowed. Index: %d", where);
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    PS_ERRORTEXT_psMetadata_REMOVE_LIST_INDEX_FAILED,
+                    where);
             return false;
         }
@@ -447,19 +453,9 @@
 
 
-    if (md == NULL) {
-        psError(__func__, "Null metadata collection not allowed");
-        return NULL;
-    }
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->table,NULL);
+    PS_PTR_CHECK_NULL(key,NULL);
 
     mdTable = md->table;
-    if (mdTable == NULL) {
-        psError(__func__, "Null metadata table not allowed");
-        return NULL;
-    }
-
-    if (key == NULL) {
-        psError(__func__, "Null key name not allowed");
-        return NULL;
-    }
 
     entry = (psMetadataItem* ) psHashLookup(mdTable, key);
@@ -473,64 +469,40 @@
 psMetadataItem* psMetadataGet(psMetadata* restrict md, psS32 where)
 {
+    psMetadataItem* entry = NULL;
+
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->list,NULL);
+
+    entry = (psMetadataItem* ) psListGet(md->list, where);
+    if (entry == NULL) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psMetadata_FIND_INDEX_FAILED,
+                where);
+        return NULL;
+    }
+
+    return entry;
+}
+
+psBool psMetadataSetIterator(psMetadata* restrict md, psS32 where)
+{
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->list,NULL);
+
+    psListSetIterator(md->list, where);
+
+    return true;
+}
+
+psMetadataItem* psMetadataGetNext(psMetadata* restrict md, const char *restrict match, psS32 which)
+{
     psList* mdList = NULL;
     psMetadataItem* entry = NULL;
 
 
-    if (md == NULL) {
-        psError(__func__, "Null metadata collection not allowed");
-        return NULL;
-    }
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->list,NULL);
 
     mdList = md->list;
-    if (mdList == NULL) {
-        psError(__func__, "Null metadata list not allowed");
-        return NULL;
-    }
-
-    entry = (psMetadataItem* ) psListGet(mdList, where);
-    if (entry == NULL) {
-        psError(__func__, "Couldn't find metadata item with given index. Index: %d", where);
-        return NULL;
-    }
-
-    return entry;
-}
-
-psBool psMetadataSetIterator(psMetadata* restrict md, psS32 where)
-{
-    psList* mdList = NULL;
-
-    if (md == NULL) {
-        psError(__func__, "Null metadata collection not allowed");
-        return false;
-    }
-
-    mdList = md->list;
-    if (mdList == NULL) {
-        psError(__func__, "Null metadata list not allowed");
-        return false;
-    }
-
-    psListSetIterator(mdList, where);
-
-    return true;
-}
-
-psMetadataItem* psMetadataGetNext(psMetadata* restrict md, const char *restrict match, psS32 which)
-{
-    psList* mdList = NULL;
-    psMetadataItem* entry = NULL;
-
-
-    if (md == NULL) {
-        psError(__func__, "Null metadata collection not allowed");
-        return NULL;
-    }
-
-    mdList = md->list;
-    if (mdList == NULL) {
-        psError(__func__, "Null metadata list not allowed");
-        return NULL;
-    }
 
     psListSetIterator(mdList, which);
@@ -559,14 +531,8 @@
 
 
-    if (md == NULL) {
-        psError(__func__, "Null metadata collection not allowed");
-        return NULL;
-    }
+    PS_PTR_CHECK_NULL(md,NULL);
+    PS_PTR_CHECK_NULL(md->list,NULL);
 
     mdList = md->list;
-    if (mdList == NULL) {
-        psError(__func__, "Null metadata list not allowed");
-        return NULL;
-    }
 
     psListSetIterator(mdList, which);
Index: trunk/psLib/src/collections/psMetadataIO.c
===================================================================
--- trunk/psLib/src/collections/psMetadataIO.c	(revision 2221)
+++ trunk/psLib/src/collections/psMetadataIO.c	(revision 2273)
@@ -9,6 +9,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-10-27 00:57:30 $
+*  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-11-04 01:04:57 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -29,4 +29,6 @@
 #include "psMetadata.h"
 #include "psMetadataIO.h"
+#include "psConstants.h"
+#include "psAstronomyErrors.h"
 
 
@@ -38,10 +40,10 @@
 #define FITS_ERROR(STRING,PS_ERROR) \
 fits_get_errstatus(status, fitsErr); \
-psError(__func__, STRING, PS_ERROR, fitsErr); \
+psError(PS_ERR_IO,true, STRING, PS_ERROR, fitsErr); \
 status = 0; \
 fits_close_file(fd, &status); \
 if(status){ \
     fits_get_errstatus(status, fitsErr); \
-    psError(__func__, "Couldn't close FITS file. FITS error: %s", fitsErr); \
+    psError(PS_ERR_IO,true, "Couldn't close FITS file. FITS error: %s", fitsErr); \
 } \
 status = 0; \
@@ -281,5 +283,7 @@
             default:
                 *status = 1;
-                psError(__func__, "Invalid type: %d", elemType);
+                psError(PS_ERR_BAD_PARAMETER_VALUE,true,
+                        PS_ERRORTEXT_psMetadataIO_TYPE_INVALID,
+                        elemType);
             }
 
@@ -302,18 +306,7 @@
     psMetadataType type;
 
-    if (fd == NULL) {
-        psError(__func__, "Null file descriptor not allowed");
-        return;
-    }
-
-    if (format == NULL) {
-        psError(__func__, "Null format not allowed");
-        return;
-    }
-
-    if (metadataItem == NULL) {
-        psError(__func__, "Null metadata not allowed");
-        return;
-    }
+    PS_PTR_CHECK_NULL(fd,);
+    PS_PTR_CHECK_NULL(format,);
+    PS_PTR_CHECK_NULL(metadataItem,);
 
     type = metadataItem->type;
@@ -336,5 +329,7 @@
         break;
     default:
-        psError(__func__, " Invalid psMetadataType to print: %d", type);
+        psError(PS_ERR_BAD_PARAMETER_TYPE,true,
+                PS_ERRORTEXT_psMetadata_METATYPE_INVALID,
+                (int)type);
     }
 }
@@ -358,8 +353,5 @@
     fitsfile *fd = NULL;
 
-    if(fileName == NULL) {
-        psError(__func__, "Null fileName not allowed");
-        return NULL;
-    }
+    PS_PTR_CHECK_NULL(fileName,NULL);
 
     fits_open_file(&fd, fileName, READONLY, &status);
@@ -369,9 +361,8 @@
     }
 
-    if (extName == NULL && extNum == 0) {
-        psError(__func__, "Null extName and extNum = 0 not allowed");
-        return NULL;
-    } else if (extName && (extNum != -1) ) {
-        psError(__func__, "If extName specified, extNum arguments should be -1.");
+    if (extName == NULL && extNum < 1) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                PS_ERRORTEXT_psMetadataIO_EXTNUM_NOTPOSITIVE,
+                extNum);
         return NULL;
     }
@@ -435,10 +426,14 @@
         case 'X':
         default:
-            psError(__func__, "Invalid psMetadataType: %c", keyType);
+            psError(PS_ERR_IO, true,
+                    PS_ERRORTEXT_psMetadataIO_FITS_METATYPE_INVALID,
+                    keyType);
             return output;
         }
 
         if (!success) {
-            psError(__func__, "Failed to add metadata item. Name: %s", keyName);
+            psError(PS_ERR_UNKNOWN, false,
+                    PS_ERRORTEXT_psMetadataIO_ADD_FAILED,
+                    keyName);
             return output;
         }
@@ -471,9 +466,9 @@
 
     // Check for nulls
-    if(fileName == NULL) {
-        psError(__func__, "Null fileName not allowed");
-        return -1;
-    } else if((fp=fopen(fileName, "r")) == NULL) {
-        psError(__func__, "Couldn't open file. Name: %s", fileName);
+    PS_PTR_CHECK_NULL(fileName,-1);
+    if((fp=fopen(fileName, "r")) == NULL) {
+        psError(PS_ERR_IO, true,
+                PS_ERRORTEXT_psMetadataIO_FILE_OPEN_FAILED,
+                fileName);
         return -1;
     }
@@ -486,7 +481,4 @@
     // Create reusable line for continuous read
     line = (char*)psAlloc(MAX_STRING_LENGTH*sizeof(char));
-    if (line == NULL) {
-        psAbort(__func__, "Failed to allocate reusable line");
-    }
 
     // While loop to parse the file
@@ -504,13 +496,19 @@
             if(repeatedChars(linePtr, '@') > 1) {
                 failedLines++;
-                psError(__func__, "More than one @ charecter not allowed. Line %d: %s", lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_MULTIPLE_CHAR,
+                        '@', lineCount, fileName);
                 continue;
             } else if(repeatedChars(linePtr, '*') > 1) {
                 failedLines++;
-                psError(__func__, "More than one * charecter not allowed. Line %d: %s", lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_MULTIPLE_CHAR,
+                        '*', lineCount, fileName);
                 continue;
             } else if(repeatedChars(linePtr, '~') > 0) {
                 failedLines++;
-                psError(__func__, "Illegal character. Character:~ Line %d: %s", lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_MULTIPLE_CHAR,
+                        '~', lineCount, fileName);
                 continue;
             }
@@ -521,5 +519,7 @@
                 failedLines++;
                 status = 0;
-                psError(__func__, "Null name not allowed. Line %d: %s", lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_ELEMENT_NULL,
+                        "name",lineCount, fileName);
                 continue;
             }
@@ -530,5 +530,7 @@
                 failedLines++;
                 status = 0;
-                psError(__func__, "Null type not allowed. Line %d: %s", lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_ELEMENT_NULL,
+                        "type",lineCount, fileName);
                 continue;
             } else if(!strncmp(strType, "*", 1)) {
@@ -551,5 +553,7 @@
             } else {
                 failedLines++;
-                psError(__func__, "Invalid psMetadataType. Type: %s Line %d: %s", strType, lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID,
+                        strType, lineCount, fileName);
                 continue;
             }
@@ -565,5 +569,7 @@
                     failedLines++;
                     status = 0;
-                    psError(__func__, "Null value not allowed. Line %d: %s", lineCount, line);
+                    psError(PS_ERR_IO, true,
+                            PS_ERRORTEXT_psMetadataIO_FILE_ELEMENT_NULL,
+                            "value",lineCount, fileName);
                     continue;
                 }
@@ -575,5 +581,7 @@
                 failedLines++;
                 status = 0;
-                psError(__func__, "Failed to parse comment. Line %d: %s", lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_ELEMENT_NULL,
+                        "comment",lineCount, fileName);
                 continue;
             }
@@ -589,6 +597,7 @@
                     } else {
                         failedLines++;
-                        psError(__func__, "Overwrite for name not allowed. Name: %s. Line %d: %s", strName,
-                                lineCount, line);
+                        psError(PS_ERR_IO, true,
+                                PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM,
+                                strName, lineCount, fileName);
                         continue;
                     }
@@ -608,5 +617,7 @@
                     status = 0;
                     failedLines++;
-                    psError(__func__, "Failed to parse value. Value: %s Line %d: %s", strValue, lineCount, line);
+                    psError(PS_ERR_IO, true,
+                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED,
+                            strValue, strName, strType, lineCount, fileName);
                     continue;
                 }
@@ -619,5 +630,7 @@
                     status = 0;
                     failedLines++;
-                    psError(__func__, "Failed to parse value. Value: %s Line %d: %s", strValue, lineCount, line);
+                    psError(PS_ERR_IO, true,
+                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED,
+                            strValue, strName, strType, lineCount, fileName);
                     continue;
                 }
@@ -631,5 +644,7 @@
                     status = 0;
                     failedLines++;
-                    psError(__func__, "Failed to parse value. Value: %s Line %d: %s", strValue, lineCount, line);
+                    psError(PS_ERR_IO, true,
+                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED,
+                            strValue, strName, strType, lineCount, fileName);
                     continue;
                 }
@@ -645,5 +660,7 @@
                     status = 0;
                     failedLines++;
-                    psError(__func__, "Failed to parse value. Value: %s Line %d: %s", strValue, lineCount, line);
+                    psError(PS_ERR_IO, true,
+                            PS_ERRORTEXT_psMetadataIO_PARSE_FAILED,
+                            strValue, strName, strType, lineCount, fileName);
                     continue;
                 }
@@ -651,5 +668,7 @@
             default:
                 failedLines++;
-                psError(__func__, "Invalid psMetadataType. Type: %d Line %d: %s", mdType, lineCount, line);
+                psError(PS_ERR_IO, true,
+                        PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID,
+                        mdType, lineCount, fileName);
                 continue;
             } // switch
Index: trunk/psLib/src/collections/psScalar.c
===================================================================
--- trunk/psLib/src/collections/psScalar.c	(revision 2221)
+++ trunk/psLib/src/collections/psScalar.c	(revision 2273)
@@ -8,6 +8,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-12 19:32:44 $
+ *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-11-04 01:04:57 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -70,8 +70,7 @@
         break;
     default:
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psScalarAlloc",
-                   PS_ERR_BAD_PARAMETER_TYPE, true,
-                   PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE,
-                   dataType);
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true,
+                PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE,
+                dataType);
     }
 
@@ -85,7 +84,6 @@
 
     if (scalar == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psScalarCopy",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psScalar_COPY_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psScalar_COPY_NULL);
         return NULL;
     }
@@ -130,8 +128,7 @@
         break;
     default:
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psScalarCopy",
-                   PS_ERR_BAD_PARAMETER_TYPE, true,
-                   PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE,
-                   dataType);
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true,
+                PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE,
+                dataType);
     }
 
Index: trunk/psLib/src/collections/psVector.c
===================================================================
--- trunk/psLib/src/collections/psVector.c	(revision 2221)
+++ trunk/psLib/src/collections/psVector.c	(revision 2273)
@@ -10,6 +10,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-10-27 00:57:31 $
+*  @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-11-04 01:04:57 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -70,7 +70,6 @@
 
     if (in == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorRealloc",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psVector_REALLOC_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psVector_REALLOC_NULL);
         return NULL;
     } else if (in->nalloc != nalloc) {     // No need to realloc to same size
@@ -99,7 +98,6 @@
             in->type.dimen !=  PS_DIMEN_TRANSV) {
         psFree(in);
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorRecycle",
-                   PS_ERR_BAD_PARAMETER_TYPE, true,
-                   PS_ERRORTEXT_psVector_NOT_A_VECTOR);
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true,
+                PS_ERRORTEXT_psVector_NOT_A_VECTOR);
         return NULL;
     }
@@ -122,7 +120,6 @@
 {
     if (in == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorSort",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psVector_SORT_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psVector_SORT_NULL);
         psFree(out);
         return NULL;
@@ -183,8 +180,7 @@
                 char* typeStr; \
                 PS_TYPE_NAME(typeStr,type); \
-                psErrorMsg(PS_ERRORNAME_DOMAIN "psImageCopy", \
-                           PS_ERR_BAD_PARAMETER_TYPE, true, \
-                           PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE, \
-                           typeStr); \
+                psError(PS_ERR_BAD_PARAMETER_TYPE, true, \
+                        PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE, \
+                        typeStr); \
                 psFree(out); \
             } \
@@ -209,8 +205,7 @@
             char* typeStr;
             PS_TYPE_NAME(typeStr,type);
-            psErrorMsg(PS_ERRORNAME_DOMAIN "psImageCopy",
-                       PS_ERR_BAD_PARAMETER_TYPE, true,
-                       PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE,
-                       typeStr);
+            psError(PS_ERR_BAD_PARAMETER_TYPE, true,
+                    PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE,
+                    typeStr);
             psFree(out);
 
@@ -232,7 +227,6 @@
 
     if (inVector == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorSort",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psVector_SORT_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psVector_SORT_NULL);
         psFree(outVector);
         return NULL;
@@ -300,8 +294,7 @@
         break;
     default:
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorSort",
-                   PS_ERR_BAD_PARAMETER_TYPE, true,
-                   PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE,
-                   inType);
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true,
+                PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE,
+                inType);
     }
 
@@ -317,7 +310,6 @@
 
     if (inVector == NULL) {
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorSortIndex",
-                   PS_ERR_BAD_PARAMETER_NULL, true,
-                   PS_ERRORTEXT_psVector_SORT_NULL);
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                PS_ERRORTEXT_psVector_SORT_NULL);
         psFree(outVector);
         return NULL;
@@ -400,8 +392,7 @@
         break;
     default:
-        psErrorMsg(PS_ERRORNAME_DOMAIN "psVectorSortIndex",
-                   PS_ERR_BAD_PARAMETER_TYPE, true,
-                   PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE,
-                   inType);
+        psError(PS_ERR_BAD_PARAMETER_TYPE, true,
+                PS_ERRORTEXT_psVector_UNSUPPORTED_TYPE,
+                inType);
     }
 
