Index: trunk/psLib/src/types/psMetadata.c
===================================================================
--- trunk/psLib/src/types/psMetadata.c	(revision 7935)
+++ trunk/psLib/src/types/psMetadata.c	(revision 7937)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.119 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-07-18 21:53:25 $
+ *  @version $Revision: 1.120 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-07-19 03:43:14 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -465,26 +465,37 @@
 
 // may need to extend this to change the keyname in the copy
-psMetadata *psMetadataItemTransfer(psMetadata *out, const psMetadata *in, const char *key)
-{
-    PS_ASSERT_PTR_NON_NULL(in, NULL);
+bool psMetadataItemTransfer(psMetadata *out,
+                            const psMetadata *in,
+                            const char *key)
+{
+    if (in == NULL) {
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                "psMetadataItemTransfer:  'in' cannot be NULL.\n");
+        return false;
+    }
+    if (out == NULL) {
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                "psMetadataItemTransfer:  'out' cannot be NULL.\n");
+        return false;
+    }
     if (key == NULL) {
         psError(PS_ERR_BAD_PARAMETER_NULL, true,
                 "psMetadataItemTransfer:  'key' cannot be NULL.\n");
-        return NULL;
+        return false;
     }
 
     psMetadataItem *item = psMetadataLookup(in, key);
     if (!item) {
-        return NULL;
-    }
-    if (out == NULL) {
-        out = psMetadataAlloc();
-    }
-    if (!psMetadataAddItem(out, item, PS_LIST_HEAD, PS_META_DEFAULT) ) {
-        psFree(out);
-        return NULL;
-    }
-
-    return out;
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                "psMetadataItemTransfer:  Could not find 'key' in psMetadata 'in'.\n");
+        return false;
+    }
+    if (!psMetadataAddItem(out, item, PS_LIST_TAIL, PS_META_REPLACE) ) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                "psMetadataItemTransfer:  Could not add item to psMetadata 'out'.\n");
+        return false;
+    }
+
+    return true;
 }
 
Index: trunk/psLib/src/types/psMetadata.h
===================================================================
--- trunk/psLib/src/types/psMetadata.h	(revision 7935)
+++ trunk/psLib/src/types/psMetadata.h	(revision 7937)
@@ -11,6 +11,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.82 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-07-18 21:53:25 $
+*  @version $Revision: 1.83 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-07-19 03:43:14 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -400,5 +400,5 @@
  *  @return bool:       True if successful, otherwise false.
  */
-psMetadata *psMetadataItemTransfer(
+bool psMetadataItemTransfer(
     psMetadata *out,                   ///< output Metadata container for copying.
     const psMetadata *in,              ///< Metadata collection from which to copy.
