Index: /trunk/psLib/src/types/psMetadataConfig.c
===================================================================
--- /trunk/psLib/src/types/psMetadataConfig.c	(revision 8767)
+++ /trunk/psLib/src/types/psMetadataConfig.c	(revision 8768)
@@ -10,6 +10,6 @@
 *  @author Eric Van Alst, MHPCC
 *
-*  @version $Revision: 1.77 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-09-07 21:24:47 $
+*  @version $Revision: 1.78 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-09-07 21:47:31 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -295,31 +295,19 @@
                          psS32 *status)
 {
-    psTime *out;
-    long sec = 0;
-    unsigned int nsec = 0;
-    char *end = NULL;
-    out = psTimeAlloc(tt);
-
-    sec = strtol(inString, &end, 10);
-    out->sec = sec;
-    while (!strncmp(end, " ", 1))
-        end++;
-    inString = end;
-    nsec = (unsigned int)strtoul(inString, &end, 10);
-    out->nsec = nsec;
-    if (out->sec == 0 && out->nsec == 0)
-        *status = 1;
-    while (!strncmp(end, " ", 1))
-        end++;
-    inString = end;
-    if ( !strncmp(inString, "false", 10) || !strncmp(inString, "f", 10) ||
-            !strncmp(inString, "FALSE", 10) || !strncmp(inString, " F", 10) )
-        out->leapsecond = false;
-    else if ( !strncmp(inString, "true", 10) || !strncmp(inString, "t", 10) ||
-              !strncmp(inString, "TRUE", 10) || !strncmp(inString, "T", 10) )
-        out->leapsecond = true;
-    else {
-        *status = 1;
-    }
+    PS_ASSERT_PTR_NON_NULL(status, NULL);
+    if (!inString) {
+        *status = 0;
+        return NULL;
+    }
+
+    psTime *out = psTimeFromISO(inString, tt);
+
+    if (!out) {
+        *status = 0;
+        return NULL;
+    }
+
+    *status = 1;
+
     return out;
 }
