Index: trunk/Ohana/src/imregister/imreg/imregclient.c
===================================================================
--- trunk/Ohana/src/imregister/imreg/imregclient.c	(revision 2823)
+++ trunk/Ohana/src/imregister/imreg/imregclient.c	(revision 3650)
@@ -4,8 +4,9 @@
 int imregclient (char *fitsfile, char *statfile, char *datfile) {
 
+  int i, Nentry, Nslice, status, tmpint;
   FILE *f;
   RegImage *image;
-  int i, Nentry, Nslice, status, tmpint;
-  float *dtime;
+  VTable vtable;
+  FITS_DB db;
 
   Nentry = 0;
@@ -45,14 +46,13 @@
     }
     status = 3;
-    Nslice = image[0].ccd;
+    Nslice = image[0].seq;
     Nentry = Nslice + 1;
     REALLOCATE (image, RegImage, Nentry);
-    dtime = (float *)&image[0].junk[0];
     for (i = 0; i < Nentry; i++) {
       image[i] = image[0];
       status = fscanf (f, "%d %f %f", &tmpint, &image[i].sky, &image[i].fwhm);
-      image[i].ccd = tmpint;
-      if (image[i].ccd == Nslice) continue;
-      image[i].obstime += *dtime*image[i].ccd;
+      image[i].seq = tmpint;
+      if (image[i].seq == Nslice) continue;
+      image[i].obstime += image[0].seqtime*image[i].seq;
     }
     fclose (f);
@@ -62,11 +62,32 @@
   if (NoReg) dump_data (image, Nentry);
 
-  set_db (TempDB);
+  db.lockstate = LCK_HARD;
+  db.timeout   = 300.0;
+  fits_db_init (&db);
 
-  status = load_db ();
-  if (!status) {
-    create_db ();
+  if (!fits_db_lock (&db, TempDB)) {
+    fprintf (stderr, "ERROR: failure to lock db\n");
+    fits_db_close (&db);
+    exit (1);
   }
-  append_db (image, Nentry);
+  if (db.dbstate == LCK_EMPTY) {
+    fits_db_create (&db);
+    fits_table_set_RegImage (&db.ftable, NULL, 0);
+  } else {  
+    if (!fits_db_load (&db)) {
+      fprintf (stderr, "ERROR: failure to load db\n");
+      fits_db_close (&db);
+      exit (1);
+    }
+  }
+
+  fits_convert_RegImage (image, sizeof (RegImage), Nentry);
+  fits_table_to_vtable (&db.ftable, &vtable, 0, 0);
+  fits_vadd_rows (&vtable, (char *) image, Nentry, sizeof(RegImage));
+
+  fits_db_update (&db, &vtable);
+  fits_db_close (&db);
+  fits_db_free (&db);
+
   fprintf (stderr, "SUCCESS: wrote temp image data\n");
   exit (0);
