Index: trunk/psLib/src/db/psDB.c
===================================================================
--- trunk/psLib/src/db/psDB.c	(revision 10669)
+++ trunk/psLib/src/db/psDB.c	(revision 10703)
@@ -12,6 +12,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.120 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-12-13 01:42:51 $
+ *  @version $Revision: 1.121 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-12-14 01:37:55 $
  *
  *  Copyright (C) 2005-2006  Joshua Hoblitt, University of Hawaii
@@ -995,18 +995,27 @@
             } else {
                 data = psDBGetPTypeNaN(pType);
+                psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, 0, "", data);
+                psFree(data);
+                continue;
             }
 
             // copy field data and convert NULLs to the appropriate NaN value
-            if (pType == PS_DATA_STRING) {
+            switch (pType) {
+            case PS_DATA_STRING:
                 psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, 0, "", data);
-            } else if (pType == PS_DATA_S32) {
+                break;
+            case PS_DATA_S32:
                 psMetadataAddS32(md, PS_LIST_TAIL, field[i].name, 0, "", atoll(data));
-            } else if (pType == PS_DATA_F32) {
+                break;
+            case PS_DATA_F32:
                 psMetadataAddF32(md, PS_LIST_TAIL, field[i].name, 0, "", atof(data));
-            } else if (pType == PS_DATA_F64) {
+                break;
+            case PS_DATA_F64:
                 psMetadataAddF64(md, PS_LIST_TAIL, field[i].name, 0, "", atof(data));
-            } else if (pType == PS_DATA_BOOL) {
+                break;
+            case PS_DATA_BOOL:
                 psMetadataAdd(md, PS_LIST_TAIL, field[i].name, pType, "", atoi(data));
-            } else if (pType == PS_DATA_TIME) {
+                break;
+            case PS_DATA_TIME:
                 // just pass NULL values through as there is currently no
                 // concept of a psTime with a NULL value
@@ -1046,5 +1055,5 @@
                 #endif
 
-            } else {
+            default:
                 // XXX: assume binary string ...
                 psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, 0, "", data);
