Index: /branches/eam_rel9_b1/psLib/src/sys/psString.c
===================================================================
--- /branches/eam_rel9_b1/psLib/src/sys/psString.c	(revision 6131)
+++ /branches/eam_rel9_b1/psLib/src/sys/psString.c	(revision 6132)
@@ -12,6 +12,6 @@
  *  @author Eric Van Alst, MHPCC
  *
- *  @version $Revision: 1.21.6.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-01-17 09:23:21 $
+ *  @version $Revision: 1.21.6.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-01-21 23:44:37 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -32,5 +32,6 @@
     // Copy input string to memory just allocated
     // Return the copy
-    return strcpy(psAlloc(strlen(string) + 1), string);
+    // Pass through NULL values
+    return string ? strcpy(psAlloc(strlen(string) + 1), string) : NULL;
 }
 
@@ -50,5 +51,8 @@
     // Copy input string to memory allocated up to nChar characters
     // Return the copy
-    returnValue = strncpy(psAlloc((size_t) nChar + 1), string, (size_t) nChar);
+    // Pass through NULL values
+    returnValue =
+              string ? strncpy(psAlloc((size_t) nChar + 1), string, (size_t) nChar)
+              : NULL;
 
     // Ensure the last byte is NULL character
Index: /branches/eam_rel9_b1/psLib/src/sys/psString.h
===================================================================
--- /branches/eam_rel9_b1/psLib/src/sys/psString.h	(revision 6131)
+++ /branches/eam_rel9_b1/psLib/src/sys/psString.h	(revision 6132)
@@ -13,6 +13,6 @@
  *  @author Eric Van Alst, MHPCC
  *
- *  @version $Revision: 1.16.18.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-01-17 09:23:21 $
+ *  @version $Revision: 1.16.18.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-01-21 23:44:37 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -36,6 +36,7 @@
 /** Copies the input string
  *
- *  This function shall allocate memory to the length of the input string
- *  plus one and copy the input string to the newly allocated memory.
+ *  This function shall allocate memory to the length of the input string plus
+ *  one and copy the input string to the newly allocated memory.  If 'string'
+ *  is 'NULL' then 'NULL' is returned.
  *
  *  @return psString:      Copy of input string
@@ -54,5 +55,5 @@
  *  string will be a substring of the input string.  If the input string
  *  is smaller than nChar bytes then the remaining bytes allocated will
- *  be set to NULL.
+ *  be set to NULL.  If 'string' is 'NULL' then 'NULL' is returned.
  *
  *  @return  psString:   Copy of input string
Index: /branches/eam_rel9_b1/psLib/src/types/psMetadata.c
===================================================================
--- /branches/eam_rel9_b1/psLib/src/types/psMetadata.c	(revision 6131)
+++ /branches/eam_rel9_b1/psLib/src/types/psMetadata.c	(revision 6132)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.92.6.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-01-17 09:24:23 $
+ *  @version $Revision: 1.92.6.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-01-21 23:44:37 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -244,5 +244,10 @@
     case PS_DATA_STRING:
         // Perform copy of input strings
-        metadataItem->data.V = psStringNCopy(va_arg(argPtr, char *), MAX_STRING_LENGTH);
+        {
+            char *string = va_arg(argPtr, char *);
+            metadataItem->data.V =
+                string ? psStringNCopy(string, MAX_STRING_LENGTH)
+                : NULL;
+        }
         break;
     case     PS_DATA_ARRAY:                     // psArray
