Index: trunk/Ohana/src/imregister/imphot/rtext.c
===================================================================
--- trunk/Ohana/src/imregister/imphot/rtext.c	(revision 4018)
+++ trunk/Ohana/src/imregister/imphot/rtext.c	(revision 4024)
@@ -1,17 +1,23 @@
+# include "imregister.h"
+# include "imphot.h"
 
 int rtext (FITS_DB *db) {
+
+  int Nimage, size, nimage;
+  struct stat filestatus;
+  Image *image;
 
   /* check that file size makes sense */
   Nimage = 0;
   fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
-  if (stat (dBFile, &filestatus) == -1) {
+  if (stat (db[0].filename, &filestatus) == -1) {
     if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
     exit (1);
   }
-  size = Nimage*sizeof(Image) + header.size;
+  size = Nimage*sizeof(Image) + db[0].header.size;
   if (size != filestatus.st_size) {
     int Ndata;
 
-    Ndata = (filestatus.st_size - header.size) / sizeof (Image);
+    Ndata = (filestatus.st_size - db[0].header.size) / sizeof (Image);
     if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
     if (VERBOSE) fprintf (stderr, "header: %d, data: %d\n", Nimage, Ndata);
@@ -27,6 +33,4 @@
   db[0].ftable.header = &db[0].theader;
 
-  /* set theader size information to match loaded data */
-
   /* alloc, read images */
   ALLOCATE (image, Image, MAX (Nimage, 1));
@@ -36,5 +40,9 @@
     exit (1);
   } 
-  db[0].ftable.buffer = image;
+  db[0].ftable.buffer = (char *) image;
+  fits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
+  db[0].theader.Naxis[1] = Nimage;
+  db[0].ftable.size = fits_matrix_size (&db[0].theader);
+  
   return (TRUE);
 }
