Index: trunk/psLib/src/types/psMetadata.c
===================================================================
--- trunk/psLib/src/types/psMetadata.c	(revision 8540)
+++ trunk/psLib/src/types/psMetadata.c	(revision 8545)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.125 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-18 00:21:59 $
+ *  @version $Revision: 1.126 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-08-24 03:17:03 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -102,7 +102,4 @@
 static void metadataItemFree(psMetadataItem* metadataItem)
 {
-    if (metadataItem == NULL) {
-        return;
-    }
     psDataType type;
 
@@ -120,7 +117,4 @@
 static void metadataIteratorFree(psMetadataIterator* iter)
 {
-    if (iter == NULL) {
-        return;
-    }
     psFree(iter->iter);
 
@@ -133,10 +127,6 @@
 static void metadataFree(psMetadata* metadata)
 {
-    if (metadata == NULL) {
-        return;
-    }
     psFree(metadata->list);
     psFree(metadata->hash);
-
 }
 
@@ -458,5 +448,4 @@
             psErrorStackPrint(stderr, "Error copying %s (%s) in the metadata\n", inItem->name,
                               inItem->comment);
-            printf("\nok we're here\n");
         }
         psFree(newItem);                // Drop reference
@@ -721,5 +710,6 @@
         psMetadataItem* entry = psHashLookup(mdTable,key);
         if (entry == NULL) {
-            psError(PS_ERR_UNKNOWN, false, _("Failed to remove metadata item, %s, from metadata table."), key);
+            psError(PS_ERR_UNKNOWN, false,
+                    _("Failed to remove metadata item, %s, from metadata table."), key);
             return false;
         }
@@ -743,5 +733,6 @@
         psMetadataItem* entry = psListGet(mdList, where);
         if (entry == NULL) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true, _("Could not find metadata item at index %d."), where);
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    _("Could not find metadata item at index %d."), where);
             return false;
         }
@@ -749,5 +740,7 @@
 
         if (key == NULL) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true, _("Failed to remove metadata item, at index %d, from metadata list."), where);
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    _("Failed to remove metadata item, at index %d, from metadata list."),
+                    where);
             return false;
         }
@@ -755,5 +748,6 @@
         psMetadataItem* tableItem = psHashLookup(mdTable, key);
         if (tableItem == NULL) {
-            psError(PS_ERR_UNKNOWN, false, _("Failed to remove metadata item, %s, from metadata table."), key);
+            psError(PS_ERR_UNKNOWN, false,
+                    _("Failed to remove metadata item, %s, from metadata table."), key);
             return false;
         }
@@ -763,8 +757,6 @@
             psListRemoveData(tableItem->data.list, entry);
         } else {
-            if (!psHashRemove(mdTable, key)) {
-                psError(PS_ERR_UNKNOWN, false, _("Failed to remove metadata item, %s, from metadata table."), key);
-                return false;
-            }
+            //Tested below.  psHashRemove can't return false here.
+            psHashRemove(mdTable, key);
         }
         psListRemove(mdList, where);
@@ -824,5 +816,9 @@
     if (metadataItem->type == PS_DATA_METADATA_MULTI) {
         // if multiple keys found, use the first.
-        metadataItem = (psMetadataItem*)((metadataItem->data.list)->head);
+        //        metadataItem = (psMetadataItem*)((metadataItem->data.list)->head);
+        metadataItem = (psMetadataItem*)(metadataItem->data.list->head->data);
+        if (status) {
+            *status = true;
+        }
     }
 
@@ -846,5 +842,5 @@
     ps##TYPE value = 0; \
     \
-    if (status) { \
+    if (status) {  \
         *status = true; \
     } \
@@ -852,5 +848,5 @@
     metadataItem = psMetadataLookup(md, key); \
     if(metadataItem == NULL) { \
-        if (status) { \
+        if (status) {  \
             *status = false; \
         } \
@@ -900,7 +896,7 @@
     default: \
         /* if you get to this point, the value is not a number. */ \
-        if (status) { \
+        if (status) {  \
             *status = false; \
-        } \
+        }  \
         break; \
     } \
@@ -1097,5 +1093,5 @@
             psLogMsg(__func__, PS_LOG_WARN, "%s isn't of type PS_DATA_META, as expected.\n", key);
         }
-        value = NULL;
+        //        value = NULL;
     } else {
         // We have the requested metadata
@@ -1168,5 +1164,5 @@
             psLogMsg(__func__, PS_LOG_WARN, "%s isn't of type PS_DATA_STRING, as expected.\n", key);
         }
-        value = NULL;
+        //        value = NULL;
     } else {
         // We have the requested metadata
