Index: trunk/psLib/src/sys/psString.c
===================================================================
--- trunk/psLib/src/sys/psString.c	(revision 6218)
+++ trunk/psLib/src/sys/psString.c	(revision 6278)
@@ -13,6 +13,6 @@
  *  @author David Robbins, MHPCC
  *
- *  @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-01-27 01:49:05 $
+ *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-02-01 20:40:56 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -31,8 +31,10 @@
 psString psStringCopy(const char *string)
 {
+    PS_ASSERT_PTR_NON_NULL(string, NULL);
     // Allocate memory using psAlloc function
     // 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;
 }
 
@@ -40,4 +42,5 @@
                        unsigned int nChar)
 {
+    PS_ASSERT_PTR_NON_NULL(string, NULL);
     char *returnValue = NULL;
 
@@ -53,5 +56,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
@@ -66,4 +72,5 @@
                        ...)
 {
+    PS_ASSERT_PTR_NON_NULL(format, 0);
     va_list         args;
     size_t          length;             // complete string length (sans \0)
@@ -113,4 +120,5 @@
                         ...)
 {
+    PS_ASSERT_PTR_NON_NULL(format, 0);
     va_list         args;
     size_t          length;             // complete string length (sans \0)
