Index: trunk/Ohana/src/opihi/dvo/dbCheckStack.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dbCheckStack.c	(revision 13479)
+++ trunk/Ohana/src/opihi/dvo/dbCheckStack.c	(revision 14287)
@@ -1,13 +1,15 @@
 # include "dvoshell.h"
 
-int dbCheckStack (dbStack *stack, int Nstack, int table, dbField **inFields, int *Nfields) {
+int dbCheckStack (dbStack *stack, int Nstack, int table, dbField **inFields, int *inNfields) {
 
-  int i, j, status, NFIELDS;
+  int i, j, status, NFIELDS, Nfields;
   char *c;
   dbField *fields;
 
-  NFIELDS = *Nfields + 10;
-  REALLOCATE (*inFields, dbField, NFIELDS);
   fields = *inFields;
+  Nfields = *inNfields;
+
+  NFIELDS = Nfields + 10;
+  REALLOCATE (fields, dbField, NFIELDS);
 
   for (i = 0; i < Nstack; i++) {
@@ -22,8 +24,10 @@
 
       // this must be a field : is it already in the list?
-      for (j = 0; (j < *Nfields) && strcasecmp (stack[i].name, fields[j].name); j++);
-      if (j < *Nfields) {
+      for (j = 0; (j < Nfields) && strcasecmp (stack[i].name, fields[j].name); j++);
+      if (j < Nfields) {
 	stack[i].field = j;
 	stack[i].type  = 'F';
+	stack[i].name  = NULL;
+	stack[i].Float = 0.0;
 	continue;
       }
@@ -31,8 +35,8 @@
       // this must be a field : is it a valid name?
       if (table == DVO_TABLE_MEASURE) {
-	status = ParseMeasureField (&fields[*Nfields], stack[i].name);
+	status = ParseMeasureField (&fields[Nfields], stack[i].name);
       } 
       if (table == DVO_TABLE_AVERAGE) {
-	status = ParseAverageField (&fields[*Nfields], stack[i].name);
+	status = ParseAverageField (&fields[Nfields], stack[i].name);
       } 
       if (!status) {
@@ -40,12 +44,17 @@
 	return (FALSE);
       }
-      stack[i].field = *Nfields;
+      stack[i].field = Nfields;
       stack[i].type  = 'F';
+      stack[i].name  = NULL;
+      stack[i].Float = 0.0;
 
-      *Nfields ++;
-      CHECK_REALLOCATE (*inFields, dbField, NFIELDS, *Nfields, 10);
-      fields = *inFields;
+      Nfields ++;
+      CHECK_REALLOCATE (fields, dbField, NFIELDS, Nfields, 10);
     }
   }
+
+  *inNfields = Nfields;
+  *inFields = fields;
+
   return (TRUE);
 }
