Index: /trunk/psLib/src/types/psMetadata.c
===================================================================
--- /trunk/psLib/src/types/psMetadata.c	(revision 16215)
+++ /trunk/psLib/src/types/psMetadata.c	(revision 16216)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.165 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-11-09 00:48:09 $
+ *  @version $Revision: 1.166 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-01-24 01:00:09 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -1357,5 +1357,8 @@
             break;
         case PS_DATA_METADATA:
-            //            fprintf(fd, "\n");
+            if (!item->data.V) {
+                fprintf(fd, "(null)\n");
+                break;
+            }
             psMetadataPrint(fd, item->data.V, level + 1);
             for (int i = 0; i < level; i++) {
@@ -1364,113 +1367,122 @@
             fprintf(fd, "%s  -- END\n", item->name);
             break;
-        case PS_DATA_REGION: {
-                psString region = psRegionToString(*(psRegion*)item->data.V);
-                fprintf(fd, "%s\n", region);
-                psFree(region);
+        case PS_DATA_REGION:
+            if (!item->data.V) {
+                fprintf(fd, "(null)\n");
                 break;
             }
+            psString region = psRegionToString(*(psRegion*)item->data.V);
+            fprintf(fd, "%s\n", region);
+            psFree(region);
+            break;
         case PS_DATA_LIST:
+            if (!item->data.V) {
+                fprintf(fd, "(null)\n");
+                break;
+            }
             fprintf(fd, "<a list of size %ld>\n", ((psList*)item->data.V)->n);
             break;
-        case PS_DATA_TIME: {
-                psString time = psTimeToISO(item->data.V);
-                fprintf(fd, "%s\n", time);
-                psFree(time);
+        case PS_DATA_TIME:
+            if (!item->data.V) {
+                fprintf(fd, "(null)\n");
                 break;
             }
-        case PS_DATA_VECTOR: {
-                psVector *vector = item->data.V;
-                switch (vector->type.type) {
-                case PS_DATA_U8:
-                    fprintf(fd, "U8  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%u ", vector->data.U8[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_U16:
-                    fprintf(fd, "U16  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%u ", vector->data.U16[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_U32:
-                    fprintf(fd, "U32  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%u ", vector->data.U32[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_U64:
-                    fprintf(fd, "U64  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%ju ", vector->data.U64[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_S8:
-                    fprintf(fd, "S8  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%d ", vector->data.S8[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_S16:
-                    fprintf(fd, "S16  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%d ", vector->data.S16[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_S32:
-                    fprintf(fd, "S32  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%d ", vector->data.S32[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_S64:
-                    fprintf(fd, "S64  ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%jd ", vector->data.S64[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_F32:
-                    fprintf(fd, "F32 ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%f ", vector->data.F32[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_F64:
-                    fprintf(fd, "F64 ");
-                    for (int i = 0; i < vector->n; i++) {
-                        fprintf(fd, "%f ", vector->data.F64[i]);
-                    }
-                    fprintf(fd, "\n");
-                    break;
-                case PS_DATA_UNKNOWN:
-                default:
-                    psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                            _("Specified psDataType, %d, is not supported."), vector->type.type);
-                    psFree(iter);
-                    fprintf(fd, "<Unsupported type>\n");
-                    return false;
-                }
-                //                fprintf(fd, "\n");
-                break;
-            }
+            psString time = psTimeToISO(item->data.V);
+            fprintf(fd, "%s\n", time);
+            psFree(time);
+            break;
+        case PS_DATA_VECTOR:
+          if (!item->data.V) {
+              fprintf(fd, "(null)\n");
+              break;
+          }
+          psVector *vector = item->data.V;
+          switch (vector->type.type) {
+            case PS_DATA_U8:
+              fprintf(fd, "U8  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%u ", vector->data.U8[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_U16:
+              fprintf(fd, "U16  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%u ", vector->data.U16[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_U32:
+              fprintf(fd, "U32  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%u ", vector->data.U32[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_U64:
+              fprintf(fd, "U64  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%ju ", vector->data.U64[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_S8:
+              fprintf(fd, "S8  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%d ", vector->data.S8[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_S16:
+              fprintf(fd, "S16  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%d ", vector->data.S16[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_S32:
+              fprintf(fd, "S32  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%d ", vector->data.S32[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_S64:
+              fprintf(fd, "S64  ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%jd ", vector->data.S64[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_F32:
+              fprintf(fd, "F32 ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%f ", vector->data.F32[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_F64:
+              fprintf(fd, "F64 ");
+              for (int i = 0; i < vector->n; i++) {
+                  fprintf(fd, "%f ", vector->data.F64[i]);
+              }
+              fprintf(fd, "\n");
+              break;
+            case PS_DATA_UNKNOWN:
+            default:
+              psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                      _("Specified psDataType, %d, is not supported."), vector->type.type);
+              psFree(iter);
+              fprintf(fd, "<Unsupported type>\n");
+              return false;
+          }
+          break;
         default:
-            //            fprintf(fd, "\n");
-            psError(PS_ERR_IO, false, "Non-printable metadata type for \"%s\": %x\n",
-                    item->name, item->type);
-            noErrors = false;
-            break;
-        }
-        //        fprintf(fd, "\n");
-    }
-    //    fprintf(fd, "\n");
+          psError(PS_ERR_IO, false, "Non-printable metadata type for \"%s\": %x\n",
+                  item->name, item->type);
+          noErrors = false;
+          break;
+        }
+    }
     psFree(iter);
 
