Index: trunk/Ohana/src/opihi/dvo/calmextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/calmextract.c	(revision 15509)
+++ trunk/Ohana/src/opihi/dvo/calmextract.c	(revision 20936)
@@ -38,8 +38,7 @@
   if (!TestPhotSelections (&code[0], &mode[0], MEAS_ZERO)) goto escape;
 
+  gprint (GP_ERR, "warning: this function may be deprecated in the future -- use avextract for better control\n");
+
   /* returned vectors are dmag, mag, color, time, airmass, ra, dec, x, y, exptime */
-  N = 0;
-  Nstar = 0;
-  NSTAR = 100;
   ALLOCATE (vec, Vector *, NVEC);
   if ((vec[Nd ] = SelectVector ("cal:dmag",     ANYVECTOR, TRUE)) == NULL) goto escape;
@@ -60,7 +59,10 @@
   if ((vec[Nd1] = SelectVector ("cal:dm1",      ANYVECTOR, TRUE)) == NULL) goto escape;
   if ((vec[Nd2] = SelectVector ("cal:dm2",      ANYVECTOR, TRUE)) == NULL) goto escape;
+
+  N = 0;
+  Nstar = 0;
+  NSTAR = 100;
   for (k = 0; k < NVEC; k++) {
-    REALLOCATE (vec[k][0].elements, float, NSTAR);
-    vec[k][0].Nelements = 0;
+    ResetVector (vec[k], OPIHI_FLT, NSTAR);
   }
 
@@ -110,5 +112,5 @@
 	NSTAR += N1 + 100;
 	for (k = 0; k < NVEC; k++) {
-	  REALLOCATE (vec[k][0].elements, float, NSTAR);
+	  REALLOCATE (vec[k][0].elements.Flt, opihi_flt, NSTAR);
 	}
       }
@@ -125,12 +127,12 @@
 
       for (j = 0; j < N1; j++, N++) {
-	vec[Nd ][0].elements[N] = M1[j] - M2;
-	vec[Nm1][0].elements[N] = M1[j];
-	vec[Nm2][0].elements[N] = M2;
-	vec[Nd2][0].elements[N] = dM2;
-	vec[Nc ][0].elements[N] = color;
-	vec[Ns ][0].elements[N] = Nstar;
-	vec[NR ][0].elements[N] = catalog.average[i].R;
-	vec[ND ][0].elements[N] = catalog.average[i].D;
+	vec[Nd ][0].elements.Flt[N] = M1[j] - M2;
+	vec[Nm1][0].elements.Flt[N] = M1[j];
+	vec[Nm2][0].elements.Flt[N] = M2;
+	vec[Nd2][0].elements.Flt[N] = dM2;
+	vec[Nc ][0].elements.Flt[N] = color;
+	vec[Ns ][0].elements.Flt[N] = Nstar;
+	vec[NR ][0].elements.Flt[N] = catalog.average[i].R;
+	vec[ND ][0].elements.Flt[N] = catalog.average[i].D;
       }
       Nstar ++; 
@@ -178,5 +180,5 @@
   Ns = vec[0].Nelements;
   for (i = 0; i < N; i++) {
-    vec[0].elements[Ns+i] = value[i];
+    vec[0].elements.Flt[Ns+i] = value[i];
   }
   vec[0].Nelements = Ns + N;
