Index: trunk/Ohana/src/libdvo/doc/ChangeLog.txt
===================================================================
--- trunk/Ohana/src/libdvo/doc/ChangeLog.txt	(revision 7039)
+++ trunk/Ohana/src/libdvo/doc/ChangeLog.txt	(revision 7080)
@@ -1,2 +1,5 @@
+
+- libdvo 1.3
+  * converted to gfits APIs (forces libfits 1.6)
 
 - libdvo 1.2
Index: trunk/Ohana/src/libdvo/include/dvo.h
===================================================================
--- trunk/Ohana/src/libdvo/include/dvo.h	(revision 7039)
+++ trunk/Ohana/src/libdvo/include/dvo.h	(revision 7080)
@@ -176,14 +176,14 @@
 /*** prototypes ***/
 
-/* in fits_db.c */
-int   fits_db_init                PROTO((FITS_DB *db));
-int   fits_db_create              PROTO((FITS_DB *db));
-int   fits_db_lock                PROTO((FITS_DB *db, char *filename));
-int   fits_db_load                PROTO((FITS_DB *db));
-int   fits_db_load_segment        PROTO((FITS_DB *db, int start, int Nrows));
-int   fits_db_save                PROTO((FITS_DB *db));
-int   fits_db_update              PROTO((FITS_DB *db));
-int   fits_db_close               PROTO((FITS_DB *db));
-int   fits_db_free                PROTO((FITS_DB *db));
+/* in gfits_db.c */
+int   gfits_db_init                PROTO((FITS_DB *db));
+int   gfits_db_create              PROTO((FITS_DB *db));
+int   gfits_db_lock                PROTO((FITS_DB *db, char *filename));
+int   gfits_db_load                PROTO((FITS_DB *db));
+int   gfits_db_load_segment        PROTO((FITS_DB *db, int start, int Nrows));
+int   gfits_db_save                PROTO((FITS_DB *db));
+int   gfits_db_update              PROTO((FITS_DB *db));
+int   gfits_db_close               PROTO((FITS_DB *db));
+int   gfits_db_free                PROTO((FITS_DB *db));
 
 /* in coords.c, using libautocode/def/coords.d */
@@ -352,4 +352,5 @@
 SkyList   *SkyListByRadius     	   PROTO((SkyTable *table, int depth, double RA, double DEC, double radius));
 SkyList   *SkyListByPatch      	   PROTO((SkyTable *table, int depth, SkyRegion *patch));
+SkyList   *SkyListByName      	   PROTO((SkyTable *table, char *name));
 SkyList   *SkyListByImage      	   PROTO((SkyTable *table, int depth, Image *image));
 SkyList   *SkyListByBounds     	   PROTO((SkyTable *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax));
Index: trunk/Ohana/src/libdvo/src/coordops.c
===================================================================
--- trunk/Ohana/src/libdvo/src/coordops.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/coordops.c	(revision 7080)
@@ -312,13 +312,13 @@
   
   status = FALSE; 
-  if (fits_scan (header, "CTYPE2", "%s", 1, coords[0].ctype)) {
-    status  = fits_scan (header, "CRVAL1", "%lf", 1, &coords[0].crval1);
-    status &= fits_scan (header, "CRPIX1", "%f", 1, &coords[0].crpix1);
-    status &= fits_scan (header, "CRVAL2", "%lf", 1, &coords[0].crval2);  
-    status &= fits_scan (header, "CRPIX2", "%f", 1, &coords[0].crpix2);
-
-    if (fits_scan (header, "CDELT1", "%f", 1, &coords[0].cdelt1)) {
-      status &= fits_scan (header, "CDELT2", "%f", 1, &coords[0].cdelt2);
-      if (fits_scan (header, "CROTA2", "%lf", 1, &rotate)) {
+  if (gfits_scan (header, "CTYPE2", "%s", 1, coords[0].ctype)) {
+    status  = gfits_scan (header, "CRVAL1", "%lf", 1, &coords[0].crval1);
+    status &= gfits_scan (header, "CRPIX1", "%f", 1, &coords[0].crpix1);
+    status &= gfits_scan (header, "CRVAL2", "%lf", 1, &coords[0].crval2);  
+    status &= gfits_scan (header, "CRPIX2", "%f", 1, &coords[0].crpix2);
+
+    if (gfits_scan (header, "CDELT1", "%f", 1, &coords[0].cdelt1)) {
+      status &= gfits_scan (header, "CDELT2", "%f", 1, &coords[0].cdelt2);
+      if (gfits_scan (header, "CROTA2", "%lf", 1, &rotate)) {
 	Lambda = coords[0].cdelt2 / coords[0].cdelt1;
 	coords[0].pc1_1 =  cos(rotate*RAD_DEG);
@@ -327,8 +327,8 @@
 	coords[0].pc2_2 =  cos(rotate*RAD_DEG);
       }
-      if (fits_scan (header, "PC001001", "%f", 1, &coords[0].pc1_1)) {
-	status &= fits_scan (header, "PC001002", "%f", 1, &coords[0].pc1_2);
-	status &= fits_scan (header, "PC002001", "%f", 1, &coords[0].pc2_1);
-	status &= fits_scan (header, "PC002002", "%f", 1, &coords[0].pc2_2);
+      if (gfits_scan (header, "PC001001", "%f", 1, &coords[0].pc1_1)) {
+	status &= gfits_scan (header, "PC001002", "%f", 1, &coords[0].pc1_2);
+	status &= gfits_scan (header, "PC002001", "%f", 1, &coords[0].pc2_1);
+	status &= gfits_scan (header, "PC002002", "%f", 1, &coords[0].pc2_2);
       }
 
@@ -337,5 +337,5 @@
 
       if (Polynomial) {
-	if (fits_scan (header, "NPLYTERM", "%d", 1, &itmp)) {
+	if (gfits_scan (header, "NPLYTERM", "%d", 1, &itmp)) {
 	  coords[0].Npolyterms = itmp;
 	} else {
@@ -344,19 +344,19 @@
 	switch (coords[0].Npolyterms) {
 	  case 3:
-	    status &= fits_scan (header, "PCA1X3Y0", "%f", 1, &coords[0].polyterms[3][0]);
-	    status &= fits_scan (header, "PCA1X2Y1", "%f", 1, &coords[0].polyterms[4][0]);
-	    status &= fits_scan (header, "PCA1X1Y2", "%f", 1, &coords[0].polyterms[5][0]);
-	    status &= fits_scan (header, "PCA1X0Y3", "%f", 1, &coords[0].polyterms[6][0]);
-	    status &= fits_scan (header, "PCA2X3Y0", "%f", 1, &coords[0].polyterms[3][1]);
-	    status &= fits_scan (header, "PCA2X2Y1", "%f", 1, &coords[0].polyterms[4][1]);
-	    status &= fits_scan (header, "PCA2X1Y2", "%f", 1, &coords[0].polyterms[5][1]);
-	    status &= fits_scan (header, "PCA2X0Y3", "%f", 1, &coords[0].polyterms[6][1]);
+	    status &= gfits_scan (header, "PCA1X3Y0", "%f", 1, &coords[0].polyterms[3][0]);
+	    status &= gfits_scan (header, "PCA1X2Y1", "%f", 1, &coords[0].polyterms[4][0]);
+	    status &= gfits_scan (header, "PCA1X1Y2", "%f", 1, &coords[0].polyterms[5][0]);
+	    status &= gfits_scan (header, "PCA1X0Y3", "%f", 1, &coords[0].polyterms[6][0]);
+	    status &= gfits_scan (header, "PCA2X3Y0", "%f", 1, &coords[0].polyterms[3][1]);
+	    status &= gfits_scan (header, "PCA2X2Y1", "%f", 1, &coords[0].polyterms[4][1]);
+	    status &= gfits_scan (header, "PCA2X1Y2", "%f", 1, &coords[0].polyterms[5][1]);
+	    status &= gfits_scan (header, "PCA2X0Y3", "%f", 1, &coords[0].polyterms[6][1]);
 	  case 2:
-	    status &= fits_scan (header, "PCA1X2Y0", "%f", 1, &coords[0].polyterms[0][0]);
-	    status &= fits_scan (header, "PCA1X1Y1", "%f", 1, &coords[0].polyterms[1][0]);
-	    status &= fits_scan (header, "PCA1X0Y2", "%f", 1, &coords[0].polyterms[2][0]);
-	    status &= fits_scan (header, "PCA2X2Y0", "%f", 1, &coords[0].polyterms[0][1]);
-	    status &= fits_scan (header, "PCA2X1Y1", "%f", 1, &coords[0].polyterms[1][1]);
-	    status &= fits_scan (header, "PCA2X0Y2", "%f", 1, &coords[0].polyterms[2][1]);
+	    status &= gfits_scan (header, "PCA1X2Y0", "%f", 1, &coords[0].polyterms[0][0]);
+	    status &= gfits_scan (header, "PCA1X1Y1", "%f", 1, &coords[0].polyterms[1][0]);
+	    status &= gfits_scan (header, "PCA1X0Y2", "%f", 1, &coords[0].polyterms[2][0]);
+	    status &= gfits_scan (header, "PCA2X2Y0", "%f", 1, &coords[0].polyterms[0][1]);
+	    status &= gfits_scan (header, "PCA2X1Y1", "%f", 1, &coords[0].polyterms[1][1]);
+	    status &= gfits_scan (header, "PCA2X0Y2", "%f", 1, &coords[0].polyterms[2][1]);
 	  case 0:
 	  case 1:
@@ -365,8 +365,8 @@
       }
     } else {
-      if (fits_scan (header, "CD1_1", "%f", 1, &coords[0].pc1_1)) {
-	status &= fits_scan (header, "CD1_2", "%f", 1, &coords[0].pc1_2);
-	status &= fits_scan (header, "CD2_1", "%f", 1, &coords[0].pc2_1);
-	status &= fits_scan (header, "CD2_2", "%f", 1, &coords[0].pc2_2);
+      if (gfits_scan (header, "CD1_1", "%f", 1, &coords[0].pc1_1)) {
+	status &= gfits_scan (header, "CD1_2", "%f", 1, &coords[0].pc1_2);
+	status &= gfits_scan (header, "CD2_1", "%f", 1, &coords[0].pc2_1);
+	status &= gfits_scan (header, "CD2_2", "%f", 1, &coords[0].pc2_2);
 	/* renormalize */
 	scale = hypot (coords[0].pc1_1, coords[0].pc1_2);
@@ -382,10 +382,10 @@
   } else {
     /* some of my thesis data uses this simple linear model - convert on read? */
-    if (fits_scan (header, "RA_O", "%lf", 1, &coords[0].crval1)) {
-      status  = fits_scan (header, "RA_X", "%f", 1, &coords[0].pc1_1);
-      status &= fits_scan (header, "RA_Y", "%f", 1, &coords[0].pc1_2);
-      status &= fits_scan (header, "DEC_O", "%lf", 1, &coords[0].crval2);  
-      status &= fits_scan (header, "DEC_X", "%f", 1, &coords[0].pc2_1);
-      status &= fits_scan (header, "DEC_Y", "%f", 1, &coords[0].pc2_2);
+    if (gfits_scan (header, "RA_O", "%lf", 1, &coords[0].crval1)) {
+      status  = gfits_scan (header, "RA_X", "%f", 1, &coords[0].pc1_1);
+      status &= gfits_scan (header, "RA_Y", "%f", 1, &coords[0].pc1_2);
+      status &= gfits_scan (header, "DEC_O", "%lf", 1, &coords[0].crval2);  
+      status &= gfits_scan (header, "DEC_X", "%f", 1, &coords[0].pc2_1);
+      status &= gfits_scan (header, "DEC_Y", "%f", 1, &coords[0].pc2_2);
       coords[0].crpix1 = coords[0].crpix2 = 0.0;
       coords[0].cdelt1 = coords[0].cdelt2 = 1.0;
@@ -394,6 +394,6 @@
   }
   if (status) {
-    if (!fits_scan (header, "EQUINOX", "%lf", 1, &equinox)) {
-      if (!fits_scan (header, "EPOCH", "%lf", 1, &equinox)) {
+    if (!gfits_scan (header, "EQUINOX", "%lf", 1, &equinox)) {
+      if (!gfits_scan (header, "EPOCH", "%lf", 1, &equinox)) {
 	equinox = 2000.0;
       }
@@ -422,7 +422,7 @@
   /* modifications to the ctype? */
   OldAIPS = FALSE;
-  fits_modify (header, "CTYPE2",   "%s",  1, coords[0].ctype);
+  gfits_modify (header, "CTYPE2",   "%s",  1, coords[0].ctype);
   if (!strcmp(coords[0].ctype, "MM")) {
-    fits_modify (header, "CTYPE1",   "%s",  1, "LL");
+    gfits_modify (header, "CTYPE1",   "%s",  1, "LL");
     OldAIPS = TRUE;
   } else {
@@ -435,52 +435,52 @@
     if (!strcmp (csys, "NONE")) return (FALSE);
     sprintf (ctype, "%s-%s", csys, &coords[0].ctype[5]);
-    fits_modify (header, "CTYPE1",   "%s",  1, ctype);
+    gfits_modify (header, "CTYPE1",   "%s",  1, ctype);
   }    
 
-  fits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1); 
-  fits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
-  fits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
-  fits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2);  
-  fits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
-  fits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
+  gfits_modify (header, "CDELT1",   "%le", 1, coords[0].cdelt1); 
+  gfits_modify (header, "CDELT2",   "%le", 1, coords[0].cdelt2);
+  gfits_modify (header, "CRVAL1",   "%lf", 1, coords[0].crval1);
+  gfits_modify (header, "CRVAL2",   "%lf", 1, coords[0].crval2);  
+  gfits_modify (header, "CRPIX1",   "%lf", 1, coords[0].crpix1);
+  gfits_modify (header, "CRPIX2",   "%lf", 1, coords[0].crpix2);
 
   if (OldAIPS) {
     Lambda = coords[0].cdelt2 / coords[0].cdelt1;
     rotate = DEG_RAD*atan2 (coords[0].pc2_1*Lambda, coords[0].pc1_1);
-    fits_modify (header, "CROTA1", "%f", 1, rotate);
-    fits_modify (header, "CROTA2", "%f", 1, rotate);
+    gfits_modify (header, "CROTA1", "%f", 1, rotate);
+    gfits_modify (header, "CROTA2", "%f", 1, rotate);
     return (TRUE);
   } 
 
-  fits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
-  fits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
-  fits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
-  fits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
-  fits_modify (header, "NPLYTERM", "%d",  1, coords[0].Npolyterms);
+  gfits_modify (header, "PC001001", "%le", 1, coords[0].pc1_1);
+  gfits_modify (header, "PC001002", "%le", 1, coords[0].pc1_2);
+  gfits_modify (header, "PC002001", "%le", 1, coords[0].pc2_1);
+  gfits_modify (header, "PC002002", "%le", 1, coords[0].pc2_2);
+  gfits_modify (header, "NPLYTERM", "%d",  1, coords[0].Npolyterms);
 
   /* RA Terms */
   if (coords[0].Npolyterms > 1) {
-    fits_modify (header, "PCA1X2Y0", "%le", 1, coords[0].polyterms[0][0]);   /* polyterms[0]); */
-    fits_modify (header, "PCA1X1Y1", "%le", 1, coords[0].polyterms[1][0]);   /* polyterms[1]); */
-    fits_modify (header, "PCA1X0Y2", "%le", 1, coords[0].polyterms[2][0]);   /* polyterms[2]); */
+    gfits_modify (header, "PCA1X2Y0", "%le", 1, coords[0].polyterms[0][0]);   /* polyterms[0]); */
+    gfits_modify (header, "PCA1X1Y1", "%le", 1, coords[0].polyterms[1][0]);   /* polyterms[1]); */
+    gfits_modify (header, "PCA1X0Y2", "%le", 1, coords[0].polyterms[2][0]);   /* polyterms[2]); */
   }
   if (coords[0].Npolyterms > 2) {
-    fits_modify (header, "PCA1X3Y0", "%le", 1, coords[0].polyterms[3][0]);   /* polyterms[3]); */
-    fits_modify (header, "PCA1X2Y1", "%le", 1, coords[0].polyterms[4][0]);   /* polyterms[4]); */
-    fits_modify (header, "PCA1X1Y2", "%le", 1, coords[0].polyterms[5][0]);   /* polyterms[5]); */
-    fits_modify (header, "PCA1X0Y3", "%le", 1, coords[0].polyterms[6][0]);   /* polyterms[6]); */
+    gfits_modify (header, "PCA1X3Y0", "%le", 1, coords[0].polyterms[3][0]);   /* polyterms[3]); */
+    gfits_modify (header, "PCA1X2Y1", "%le", 1, coords[0].polyterms[4][0]);   /* polyterms[4]); */
+    gfits_modify (header, "PCA1X1Y2", "%le", 1, coords[0].polyterms[5][0]);   /* polyterms[5]); */
+    gfits_modify (header, "PCA1X0Y3", "%le", 1, coords[0].polyterms[6][0]);   /* polyterms[6]); */
   }
 
   /* Dec Terms */
   if (coords[0].Npolyterms > 1) {
-    fits_modify (header, "PCA2X2Y0", "%le", 1, coords[0].polyterms[0][1]);   /* polyterms[7]); */
-    fits_modify (header, "PCA2X1Y1", "%le", 1, coords[0].polyterms[1][1]);   /* polyterms[8]); */
-    fits_modify (header, "PCA2X0Y2", "%le", 1, coords[0].polyterms[2][1]);   /* polyterms[9]); */
+    gfits_modify (header, "PCA2X2Y0", "%le", 1, coords[0].polyterms[0][1]);   /* polyterms[7]); */
+    gfits_modify (header, "PCA2X1Y1", "%le", 1, coords[0].polyterms[1][1]);   /* polyterms[8]); */
+    gfits_modify (header, "PCA2X0Y2", "%le", 1, coords[0].polyterms[2][1]);   /* polyterms[9]); */
   }
   if (coords[0].Npolyterms > 2) {
-    fits_modify (header, "PCA2X3Y0", "%le", 1, coords[0].polyterms[3][1]);   /* polyterms[10]); */
-    fits_modify (header, "PCA2X2Y1", "%le", 1, coords[0].polyterms[4][1]);   /* polyterms[11]); */
-    fits_modify (header, "PCA2X1Y2", "%le", 1, coords[0].polyterms[5][1]);   /* polyterms[12]); */
-    fits_modify (header, "PCA2X0Y3", "%le", 1, coords[0].polyterms[6][1]);   /* polyterms[13]); */
+    gfits_modify (header, "PCA2X3Y0", "%le", 1, coords[0].polyterms[3][1]);   /* polyterms[10]); */
+    gfits_modify (header, "PCA2X2Y1", "%le", 1, coords[0].polyterms[4][1]);   /* polyterms[11]); */
+    gfits_modify (header, "PCA2X1Y2", "%le", 1, coords[0].polyterms[5][1]);   /* polyterms[12]); */
+    gfits_modify (header, "PCA2X0Y3", "%le", 1, coords[0].polyterms[6][1]);   /* polyterms[13]); */
   }
   return (TRUE);
Index: trunk/Ohana/src/libdvo/src/dvo_catalog.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog.c	(revision 7080)
@@ -42,10 +42,10 @@
   /** we will have to check catmode for MYSQL before reading from the file **/
 
-  fits_fread_header (catalog[0].f, &catalog[0].header);
-  if (!fits_scan (&catalog[0].header, "NAXIS", "%d", 1, &Naxis)) {
+  gfits_fread_header (catalog[0].f, &catalog[0].header);
+  if (!gfits_scan (&catalog[0].header, "NAXIS", "%d", 1, &Naxis)) {
     if (VERBOSE) fprintf (stderr, "can't determine catalog db mode\n");
     return (FALSE);
   }
-  split = fits_scan (&catalog[0].header, "MEASURE", "%s", 1, measure);
+  split = gfits_scan (&catalog[0].header, "MEASURE", "%s", 1, measure);
 
   /* currenly, the catmode information is carried per table.
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c	(revision 7080)
@@ -17,13 +17,13 @@
 
   /* matrix should be empty */
-  if (!fits_fread_matrix (f, &matrix, &catalog[0].header)) {
+  if (!gfits_fread_matrix (f, &matrix, &catalog[0].header)) {
     if (VERBOSE) fprintf (stderr, "can't read primary matrix");
     return (FALSE);
   }
   /* get the components from the header */
-  if (!fits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
+  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
 
   /**  Nsecfilt is unusual: it does not list the number of data items in the table
@@ -34,5 +34,5 @@
 
   /* read Average table header */
-  if (!fits_fread_header (f, &header)) {
+  if (!gfits_fread_header (f, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read table average header");
     return (FALSE);
@@ -40,5 +40,5 @@
   /* read Average table data (or skip) */
   if (catalog[0].catflags & LOAD_AVES) {
-    if (!fits_fread_ftable_data (f, &ftable)) {
+    if (!gfits_fread_ftable_data (f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table average data");
       return (FALSE);
@@ -49,12 +49,12 @@
     }
   } else {
-    Nbytes = fits_matrix_size (&header);
-    fseek (f, Nbytes, SEEK_CUR);
-  }
-  fits_free_header (&header);
+    Nbytes = gfits_matrix_size (&header);
+    fseek (f, Nbytes, SEEK_CUR);
+  }
+  gfits_free_header (&header);
   /** free the ftable or not? data is being used still..? **/
 
   /* read Measure table header */
-  if (!fits_fread_header (f, &header)) {
+  if (!gfits_fread_header (f, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read table measure header");
     return (FALSE);
@@ -62,5 +62,5 @@
   /* read Measure table data */
   if (catalog[0].catflags & LOAD_MEAS) {
-    if (!fits_fread_ftable_data (f, &ftable)) {
+    if (!gfits_fread_ftable_data (f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table measure data");
       return (FALSE);
@@ -71,10 +71,10 @@
     }
   } else {
-    Nbytes = fits_matrix_size (&header);
+    Nbytes = gfits_matrix_size (&header);
     fseek (f, Nbytes, SEEK_CUR);
   }
 
   /* read Missing table header */
-  if (!fits_fread_header (f, &header)) {
+  if (!gfits_fread_header (f, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read table missing header");
     return (FALSE);
@@ -82,23 +82,23 @@
   /* read Missing table data */
   if (catalog[0].catflags & LOAD_MISS) {
-    if (!fits_fread_ftable_data (f, &ftable)) {
+    if (!gfits_fread_ftable_data (f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table missing data");
       return (FALSE);
     }
     /* no conversions currently defined */
-    catalog[0].missing = fits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
+    catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
     if (Nmissing != catalog[0].Nmissing) {
       fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%d vs %d)\n", Nmissing, catalog[0].Nmissing);
     }
   } else {
-    Nbytes = fits_matrix_size (&header);
-    fseek (f, Nbytes, SEEK_CUR);
-  }
-
-  // catalog[0].secfilt = fits_table_get_SecFilt (&ftable, &Nitems, NULL);
+    Nbytes = gfits_matrix_size (&header);
+    fseek (f, Nbytes, SEEK_CUR);
+  }
+
+  // catalog[0].secfilt = gfits_table_get_SecFilt (&ftable, &Nitems, NULL);
   // catalog[0].Nsecfilt = Nitems / catalog[0].Naverage;
 
   /* read secfilt table header */
-  if (!fits_fread_header (f, &header)) {
+  if (!gfits_fread_header (f, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read table secfilt header");
     return (FALSE);
@@ -106,5 +106,5 @@
   /* read secfilt table data */
   if (catalog[0].catflags & LOAD_SECF) {
-    if (!fits_fread_ftable_data (f, &ftable)) {
+    if (!gfits_fread_ftable_data (f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table secfilt data");
       return (FALSE);
@@ -117,5 +117,5 @@
   } else {
     /* no real need to skip the data array here... */
-    Nbytes = fits_matrix_size (&header);
+    Nbytes = gfits_matrix_size (&header);
     fseek (f, Nbytes, SEEK_CUR);
   }
@@ -139,9 +139,9 @@
 
   /* make sure header is consistent with data */
-  fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
-  fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
-  fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
-  fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
-  fits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
+  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
+  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
+  gfits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
 
   f = catalog[0].f;
@@ -152,5 +152,5 @@
 
   /* write table PHU header */
-  if (!fits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
+  if (!gfits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
     fprintf (stderr, "can't write primary header");
     return (FALSE);
@@ -158,63 +158,63 @@
 
   /* this is probably a NOP, do I have to keep it in? */
-  fits_create_matrix (&catalog[0].header, &matrix);
-  if (!fits_fwrite_matrix  (catalog[0].f, &matrix)) {
+  gfits_create_matrix (&catalog[0].header, &matrix);
+  if (!gfits_fwrite_matrix  (catalog[0].f, &matrix)) {
     fprintf (stderr, "can't write primary matrix");
     return (FALSE);
   }
-  fits_free_matrix (&matrix);
+  gfits_free_matrix (&matrix);
 
   /* write out Average table (convert to FITS table format) */
   AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat);
-  if (!fits_fwrite_Theader (catalog[0].f, &header)) {
-    fprintf (stderr, "can't write table header");
-    return (FALSE);
-  }
-  if (!fits_fwrite_table (catalog[0].f, &ftable)) {
-    fprintf (stderr, "can't write table data");
-    return (FALSE);
-  }
-  fits_free_table (&ftable);
-  fits_free_header (&header);
+  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
+    fprintf (stderr, "can't write table header");
+    return (FALSE);
+  }
+  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
+    fprintf (stderr, "can't write table data");
+    return (FALSE);
+  }
+  gfits_free_table (&ftable);
+  gfits_free_header (&header);
 
   /* write out Measure table (convert to FITS table format) */
   MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
-  if (!fits_fwrite_Theader (catalog[0].f, &header)) {
-    fprintf (stderr, "can't write table header");
-    return (FALSE);
-  }
-  if (!fits_fwrite_table (catalog[0].f, &ftable)) {
-    fprintf (stderr, "can't write table data");
-    return (FALSE);
-  }
-  fits_free_table (&ftable);
-  fits_free_header (&header);
+  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
+    fprintf (stderr, "can't write table header");
+    return (FALSE);
+  }
+  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
+    fprintf (stderr, "can't write table data");
+    return (FALSE);
+  }
+  gfits_free_table (&ftable);
+  gfits_free_header (&header);
 
   /* write out Missing table (convert to FITS table format) */
-  fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
-  if (!fits_fwrite_Theader (catalog[0].f, &header)) {
-    fprintf (stderr, "can't write table header");
-    return (FALSE);
-  }
-  if (!fits_fwrite_table (catalog[0].f, &ftable)) {
-    fprintf (stderr, "can't write table data");
-    return (FALSE);
-  }
-  fits_free_table (&ftable);
-  fits_free_header (&header);
+  gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
+  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
+    fprintf (stderr, "can't write table header");
+    return (FALSE);
+  }
+  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
+    fprintf (stderr, "can't write table data");
+    return (FALSE);
+  }
+  gfits_free_table (&ftable);
+  gfits_free_header (&header);
 
   /* write out SecFilt table (convert to FITS table format) */
   Nitems = catalog[0].Naverage * catalog[0].Nsecfilt;
   SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat);
-  if (!fits_fwrite_Theader (catalog[0].f, &header)) {
-    fprintf (stderr, "can't write table header");
-    return (FALSE);
-  }
-  if (!fits_fwrite_table (catalog[0].f, &ftable)) {
-    fprintf (stderr, "can't write table data");
-    return (FALSE);
-  }
-  fits_free_table (&ftable);
-  fits_free_header (&header);
+  if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
+    fprintf (stderr, "can't write table header");
+    return (FALSE);
+  }
+  if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
+    fprintf (stderr, "can't write table data");
+    return (FALSE);
+  }
+  gfits_free_table (&ftable);
+  gfits_free_header (&header);
 
   return (TRUE);
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 7080)
@@ -20,12 +20,12 @@
   /* get the components from the header */
   catalog[0].Naverage = catalog[0].Nmeasure = catalog[0].Nmissing = catalog[0].Nsecfilt = 0;
-  if (!fits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &catalog[0].Naverage)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &catalog[0].Nmeasure)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NMISS",    "%d", 1, &catalog[0].Nmissing)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;
+  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &catalog[0].Naverage)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &catalog[0].Nmeasure)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMISS",    "%d", 1, &catalog[0].Nmissing)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;
 
   /* determine catalog format */
   catalog[0].catformat = DVO_FORMAT_UNDEF;
-  if (fits_scan (&catalog[0].header, "FORMAT",  "%s", 1, format)) {
+  if (gfits_scan (&catalog[0].header, "FORMAT",  "%s", 1, format)) {
     if (!strcmp (format, "INTERNAL")) catalog[0].catformat = DVO_FORMAT_INTERNAL;
     if (!strcmp (format, "LONEOS")) catalog[0].catformat = DVO_FORMAT_LONEOS;
@@ -35,9 +35,9 @@
     if (catalog[0].catformat != DVO_FORMAT_UNDEF) goto got_format;
   }
-  if (fits_scan (&catalog[0].header, "NEWMEAS",  "%t", 1, &NewMeasure)) {
+  if (gfits_scan (&catalog[0].header, "NEWMEAS",  "%t", 1, &NewMeasure)) {
     catalog[0].catformat = DVO_FORMAT_ELIXIR;
     goto got_format;
   }
-  if (fits_scan (&catalog[0].header, "TELESCOP",  "%s", 1, telescope)) {
+  if (gfits_scan (&catalog[0].header, "TELESCOP",  "%s", 1, telescope)) {
     if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) {
       catalog[0].catformat = DVO_FORMAT_LONEOS;
@@ -145,5 +145,5 @@
       return (FALSE);
     }
-    fits_convert_Missing (catalog[0].missing, MissingSize, Nitems);
+    gfits_convert_Missing (catalog[0].missing, MissingSize, Nitems);
   } else {
     /* skip over missings */
@@ -194,15 +194,15 @@
 
   /* make sure header is consistent with data */
-  fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
-  fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
-  fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
-  fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
+  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
+  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
 
   /* specify the appropriate data format */
-  if (catalog[0].catformat == DVO_FORMAT_INTERNAL)  fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "INTERNAL");
-  if (catalog[0].catformat == DVO_FORMAT_LONEOS)    fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS");
-  if (catalog[0].catformat == DVO_FORMAT_ELIXIR)    fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR");
-  if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS");
-  if (catalog[0].catformat == DVO_FORMAT_PMTEST)    fits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST");
+  if (catalog[0].catformat == DVO_FORMAT_INTERNAL)  gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "INTERNAL");
+  if (catalog[0].catformat == DVO_FORMAT_LONEOS)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS");
+  if (catalog[0].catformat == DVO_FORMAT_ELIXIR)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR");
+  if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS");
+  if (catalog[0].catformat == DVO_FORMAT_PMTEST)    gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST");
 
   /* rewind file pointers and truncate file */
@@ -211,5 +211,5 @@
   ftruncate (fileno (catalog[0].f), 0);
 
-  /* write header data (use fits_write_header?) */
+  /* write header data (use gfits_write_header?) */
   nitems = fwrite (catalog[0].header.buffer, 1, catalog[0].header.size, f);
   if (nitems != catalog[0].header.size) {
@@ -224,5 +224,5 @@
   /* write missing data */
   Nitems = catalog[0].Nmissing;
-  fits_convert_Missing (catalog[0].missing, sizeof(Missing), Nitems);
+  gfits_convert_Missing (catalog[0].missing, sizeof(Missing), Nitems);
   nitems = fwrite (catalog[0].missing, sizeof(Missing), Nitems, f);
   if (nitems != Nitems) {
@@ -260,5 +260,5 @@
 	return (NULL);
       }
-      fits_convert_Average (average, sizeof(Average), Naverage);
+      gfits_convert_Average (average, sizeof(Average), Naverage);
       break;
     case DVO_FORMAT_ELIXIR:
@@ -269,5 +269,5 @@
 	return (NULL);
       }
-      fits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
+      gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
       average = AverageElixirToInternal (tmpAverageElixir, Naverage);
       free (tmpAverageElixir);
@@ -280,5 +280,5 @@
 	return (NULL);
       }
-      fits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
+      gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
       average = AverageLoneosToInternal (tmpAverageLoneos, Naverage);
       free (tmpAverageLoneos);
@@ -291,5 +291,5 @@
 	return (NULL);
       }
-      fits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
+      gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
       average = AveragePanstarrsToInternal (tmpAveragePanstarrs, Naverage);
       free (tmpAveragePanstarrs);
@@ -302,5 +302,5 @@
 	return (NULL);
       }
-      fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
+      gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
       average = AveragePMtestToInternal (tmpAveragePMtest, Naverage);
       free (tmpAveragePMtest);
@@ -325,5 +325,5 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_convert_Average (average, sizeof(Average), Naverage);
+      gfits_convert_Average (average, sizeof(Average), Naverage);
       nitems = fwrite (average, sizeof(Average), Naverage, f);
       if (nitems != Naverage) {
@@ -334,5 +334,5 @@
     case DVO_FORMAT_ELIXIR:
       tmpAverageElixir = AverageInternalToElixir (average, Naverage);
-      fits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
+      gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage);
       nitems = fwrite (tmpAverageElixir, sizeof(AverageElixir), Naverage, f);
       free (tmpAverageElixir);
@@ -344,5 +344,5 @@
     case DVO_FORMAT_LONEOS:
       tmpAverageLoneos = AverageInternalToLoneos (average, Naverage);
-      fits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
+      gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage);
       nitems = fwrite (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f);
       free (tmpAverageLoneos);
@@ -354,5 +354,5 @@
     case DVO_FORMAT_PANSTARRS:
       tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage);
-      fits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
+      gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage);
       nitems = fwrite (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f);
       free (tmpAveragePanstarrs);
@@ -364,5 +364,5 @@
     case DVO_FORMAT_PMTEST:
       tmpAveragePMtest = AverageInternalToPMtest (average, Naverage);
-      fits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
+      gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage);
       nitems = fwrite (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f);
       free (tmpAveragePMtest);
@@ -397,5 +397,5 @@
 	return (NULL);
       }
-      fits_convert_Measure (measure, sizeof(Measure), Nmeasure);
+      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
       break;
     case DVO_FORMAT_ELIXIR:
@@ -406,5 +406,5 @@
 	return (NULL);
       }
-      fits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
+      gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
       measure = MeasureElixirToInternal (tmpMeasureElixir, Nmeasure);
       free (tmpMeasureElixir);
@@ -417,5 +417,5 @@
 	return (NULL);
       }
-      fits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
+      gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
       measure = MeasureLoneosToInternal (tmpMeasureLoneos, Nmeasure);
       free (tmpMeasureLoneos);
@@ -429,5 +429,5 @@
 	return (NULL);
       }
-      fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
+      gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
       measure = MeasurePanstarrsToInternal (tmpMeasurePanstarrs, Nmeasure);
       free (tmpMeasurePanstarrs);
@@ -451,5 +451,5 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_convert_Measure (measure, sizeof(Measure), Nmeasure);
+      gfits_convert_Measure (measure, sizeof(Measure), Nmeasure);
       nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
       if (nitems != Nmeasure) {
@@ -460,5 +460,5 @@
     case DVO_FORMAT_ELIXIR:
       tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure);
-      fits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
+      gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure);
       nitems = fwrite (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f);
       free (tmpMeasureElixir);
@@ -470,5 +470,5 @@
     case DVO_FORMAT_LONEOS:
       tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure);
-      fits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
+      gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure);
       nitems = fwrite (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f);
       free (tmpMeasureLoneos);
@@ -481,5 +481,5 @@
     case DVO_FORMAT_PMTEST:
       tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure);
-      fits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
+      gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);
       nitems = fwrite (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure, f);
       free (tmpMeasurePanstarrs);
@@ -514,5 +514,5 @@
 	return (NULL);
       }
-      fits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
+      gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
       break;
     case DVO_FORMAT_ELIXIR:
@@ -523,5 +523,5 @@
 	return (NULL);
       }
-      fits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
+      gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
       secfilt = SecFiltElixirToInternal (tmpSecFiltElixir, Nsecfilt);
       free (tmpSecFiltElixir);
@@ -534,5 +534,5 @@
 	return (NULL);
       }
-      fits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
+      gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
       secfilt = SecFiltLoneosToInternal (tmpSecFiltLoneos, Nsecfilt);
       free (tmpSecFiltLoneos);
@@ -546,5 +546,5 @@
 	return (NULL);
       }
-      fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
+      gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
       secfilt = SecFiltPanstarrsToInternal (tmpSecFiltPanstarrs, Nsecfilt);
       free (tmpSecFiltPanstarrs);
@@ -568,5 +568,5 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
+      gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt);
       nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f);
       if (nitems != Nsecfilt) {
@@ -577,5 +577,5 @@
     case DVO_FORMAT_ELIXIR:
       tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt);
-      fits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
+      gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt);
       nitems = fwrite (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f);
       free (tmpSecFiltElixir);
@@ -587,5 +587,5 @@
     case DVO_FORMAT_LONEOS:
       tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt);
-      fits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
+      gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt);
       nitems = fwrite (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f);
       free (tmpSecFiltLoneos);
@@ -598,5 +598,5 @@
     case DVO_FORMAT_PMTEST:
       tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
-      fits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
+      gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);
       nitems = fwrite (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f);
       free (tmpSecFiltPanstarrs);
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 7080)
@@ -17,8 +17,8 @@
 
   /* get the components from the header - these duplicate information in the split files (NAXIS2) */
-  if (!fits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
-  if (!fits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
+  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%d", 1, &Naverage)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%d", 1, &Nmeasure)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMISS",    "%d", 1, &Nmissing)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0;
 
   /**  Nsecfilt is unusual: it does not list the number of data items in the table
@@ -40,15 +40,15 @@
     fseek (catalog[0].f, catalog[0].header.size, SEEK_SET);
     /* matrix should be empty */
-    if (!fits_fread_matrix (catalog[0].f, &matrix, &catalog[0].header)) {
+    if (!gfits_fread_matrix (catalog[0].f, &matrix, &catalog[0].header)) {
       if (VERBOSE) fprintf (stderr, "can't read primary matrix");
       return (FALSE);
     }
     /* read Average table header */
-    if (!fits_fread_header (catalog[0].f, &header)) {
+    if (!gfits_fread_header (catalog[0].f, &header)) {
       if (VERBOSE) fprintf (stderr, "can't read table average header");
       return (FALSE);
     }
     /* read Average table data */
-    if (!fits_fread_ftable_data (catalog[0].f, &ftable)) {
+    if (!gfits_fread_ftable_data (catalog[0].f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table average data");
       return (FALSE);
@@ -58,5 +58,5 @@
       fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%d vs %d)\n", Naverage, catalog[0].Naverage);
     }
-    fits_free_header (&header);
+    gfits_free_header (&header);
   } 
 
@@ -70,5 +70,5 @@
 
     /* get split filename from main header (paths relative to cpt file) */
-    if (!fits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
+    if (!gfits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
     ALLOCATE (measure[0].filename, char, strlen(path) + strlen(string) + 2);
     sprintf (measure[0].filename, "%s/%s", path, string);
@@ -81,20 +81,20 @@
 
     /* read PHU */
-    if (!fits_load_header (measure[0].f, &measure[0].header)) {
+    if (!gfits_load_header (measure[0].f, &measure[0].header)) {
       if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", measure[0].filename);
       return (FALSE);
     }
     /* matrix should be empty */
-    if (!fits_fread_matrix (measure[0].f, &matrix, &measure[0].header)) {
+    if (!gfits_fread_matrix (measure[0].f, &matrix, &measure[0].header)) {
       if (VERBOSE) fprintf (stderr, "can't read primary matrix");
       return (FALSE);
     }
     /* read Measure table header */
-    if (!fits_fread_header (measure[0].f, &header)) {
+    if (!gfits_fread_header (measure[0].f, &header)) {
       if (VERBOSE) fprintf (stderr, "can't read measure PHU header");
       return (FALSE);
     }
     /* read Measure table data */
-    if (!fits_fread_ftable_data (measure[0].f, &ftable)) {
+    if (!gfits_fread_ftable_data (measure[0].f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table measure data");
       return (FALSE);
@@ -106,6 +106,6 @@
     }
     catalog[0].Nmeas_off = 0;
-    fits_free_header (&header);
-    fits_free_matrix (&matrix);
+    gfits_free_header (&header);
+    gfits_free_matrix (&matrix);
   }
 
@@ -115,5 +115,5 @@
 
     /* get split filename from main header (paths relative to cpt file) */
-    if (!fits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
+    if (!gfits_scan (&catalog[0].header, "MEASURE",  "%s", 1, string)) return (FALSE);
     ALLOCATE (measure[0].filename, char, strlen(path) + strlen(string) + 2);
     sprintf (measure[0].filename, "%s/%s", path, string);
@@ -126,5 +126,5 @@
 
     /* read PHU */
-    if (!fits_load_header (measure[0].f, &measure[0].header)) {
+    if (!gfits_load_header (measure[0].f, &measure[0].header)) {
       if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", measure[0].filename);
       return (FALSE);
@@ -147,5 +147,5 @@
 
     /* get split filename from main header (paths relative to cpt file) */
-    if (!fits_scan (&catalog[0].header, "MISSING",  "%s", 1, string)) return (FALSE);
+    if (!gfits_scan (&catalog[0].header, "MISSING",  "%s", 1, string)) return (FALSE);
     ALLOCATE (missing[0].filename, char, strlen(path) + strlen(string) + 2);
     sprintf (missing[0].filename, "%s/%s", path, string);
@@ -158,30 +158,30 @@
 
     /* read PHU */
-    if (!fits_load_header (missing[0].f, &missing[0].header)) {
+    if (!gfits_load_header (missing[0].f, &missing[0].header)) {
       if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", missing[0].filename);
       return (FALSE);
     }
     /* matrix should be empty */
-    if (!fits_fread_matrix (missing[0].f, &matrix, &missing[0].header)) {
+    if (!gfits_fread_matrix (missing[0].f, &matrix, &missing[0].header)) {
       if (VERBOSE) fprintf (stderr, "can't read primary matrix");
       return (FALSE);
     }
     /* read Missing table header */
-    if (!fits_fread_header (missing[0].f, &header)) {
+    if (!gfits_fread_header (missing[0].f, &header)) {
       if (VERBOSE) fprintf (stderr, "can't read table missing header");
       return (FALSE);
     }
     /* read Missing table data */
-    if (!fits_fread_ftable_data (missing[0].f, &ftable)) {
+    if (!gfits_fread_ftable_data (missing[0].f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table missing data");
       return (FALSE);
     }
     /* no conversions currently defined */
-    catalog[0].missing = fits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
+    catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
     if (Nmissing != catalog[0].Nmissing) {
       fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%d vs %d)\n", Nmissing, catalog[0].Nmissing);
     }
-    fits_free_header (&header);
-    fits_free_matrix (&matrix);
+    gfits_free_header (&header);
+    gfits_free_matrix (&matrix);
   } 
   catalog[0].missing_catalog = missing;
@@ -194,5 +194,5 @@
   
     /* get split filename from main header (paths relative to cpt file) */
-    if (!fits_scan (&catalog[0].header, "SECFILT",  "%s", 1, string)) return (FALSE);
+    if (!gfits_scan (&catalog[0].header, "SECFILT",  "%s", 1, string)) return (FALSE);
     ALLOCATE (secfilt[0].filename, char, strlen(path) + strlen(string) + 2);
     sprintf (secfilt[0].filename, "%s/%s", path, string);
@@ -205,20 +205,20 @@
 
     /* read PHU */
-    if (!fits_load_header (secfilt[0].f, &secfilt[0].header)) {
+    if (!gfits_load_header (secfilt[0].f, &secfilt[0].header)) {
       if (VERBOSE) fprintf (stderr, "catalog file does not exist: %s\n", secfilt[0].filename);
       return (FALSE);
     }
     /* matrix should be empty */
-    if (!fits_fread_matrix (secfilt[0].f, &matrix, &secfilt[0].header)) {
+    if (!gfits_fread_matrix (secfilt[0].f, &matrix, &secfilt[0].header)) {
       if (VERBOSE) fprintf (stderr, "can't read primary matrix");
       return (FALSE);
     }
     /* read secfilt table header */
-    if (!fits_fread_header (secfilt[0].f, &header)) {
+    if (!gfits_fread_header (secfilt[0].f, &header)) {
       if (VERBOSE) fprintf (stderr, "can't read table secfilt header");
       return (FALSE);
     }
     /* read secfilt table data */
-    if (!fits_fread_ftable_data (secfilt[0].f, &ftable)) {
+    if (!gfits_fread_ftable_data (secfilt[0].f, &ftable)) {
       if (VERBOSE) fprintf (stderr, "can't read table secfilt data");
       return (FALSE);
@@ -229,6 +229,6 @@
       fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%d vs %d)\n", Nexpect, Nitems);
     }
-    fits_free_header (&header);
-    fits_free_matrix (&matrix);
+    gfits_free_header (&header);
+    gfits_free_matrix (&matrix);
   } 
   catalog[0].secfilt_catalog = secfilt;
@@ -260,9 +260,9 @@
 
   /* make sure header is consistent with data */
-  fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
-  fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
-  fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
-  fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
-  fits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
+  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure);
+  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
+  gfits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
 
   /* rewind file pointers and truncate (file is still open) */
@@ -271,5 +271,5 @@
   /* write table PHU header - always write this out */
   /* XXX EAM : check if disk file size has changed */
-  if (!fits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
+  if (!gfits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
     fprintf (stderr, "can't write primary header");
     return (FALSE);
@@ -284,23 +284,23 @@
 
     /* this is probably a NOP, do I have to keep it in? */
-    fits_create_matrix (&catalog[0].header, &matrix);
-    if (!fits_fwrite_matrix  (catalog[0].f, &matrix)) {
+    gfits_create_matrix (&catalog[0].header, &matrix);
+    if (!gfits_fwrite_matrix  (catalog[0].f, &matrix)) {
       fprintf (stderr, "can't write primary matrix");
       return (FALSE);
     }
-    fits_free_matrix (&matrix);
+    gfits_free_matrix (&matrix);
 
     /* write out Average table (convert to FITS table format) */
     AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat);
-    if (!fits_fwrite_Theader (catalog[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_table (catalog[0].f, &ftable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_table (catalog[0].f, &ftable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -322,5 +322,5 @@
 
     /* write table PHU header */
-    if (!fits_fwrite_header  (measure[0].f, &measure[0].header)) {
+    if (!gfits_fwrite_header  (measure[0].f, &measure[0].header)) {
       fprintf (stderr, "can't write primary header");
       return (FALSE);
@@ -328,23 +328,23 @@
 
     /* this is probably a NOP, do I have to keep it in? */
-    fits_create_matrix (&measure[0].header, &matrix);
-    if (!fits_fwrite_matrix  (measure[0].f, &matrix)) {
+    gfits_create_matrix (&measure[0].header, &matrix);
+    if (!gfits_fwrite_matrix  (measure[0].f, &matrix)) {
       fprintf (stderr, "can't write primary matrix");
       return (FALSE);
     }
-    fits_free_matrix (&matrix);
+    gfits_free_matrix (&matrix);
 
     /* write out Measure table (convert to FITS table format) */
     MeasureToFtable (&ftable, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat);
-    if (!fits_fwrite_Theader (measure[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_table (measure[0].f, &ftable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    if (!gfits_fwrite_Theader (measure[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_table (measure[0].f, &ftable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -360,5 +360,5 @@
 
     /* write table PHU header */
-    if (!fits_fwrite_header  (missing[0].f, &missing[0].header)) {
+    if (!gfits_fwrite_header  (missing[0].f, &missing[0].header)) {
       fprintf (stderr, "can't write primary header");
       return (FALSE);
@@ -366,23 +366,23 @@
 
     /* this is probably a NOP, do I have to keep it in? */
-    fits_create_matrix (&missing[0].header, &matrix);
-    if (!fits_fwrite_matrix  (missing[0].f, &matrix)) {
+    gfits_create_matrix (&missing[0].header, &matrix);
+    if (!gfits_fwrite_matrix  (missing[0].f, &matrix)) {
       fprintf (stderr, "can't write primary matrix");
       return (FALSE);
     }
-    fits_free_matrix (&matrix);
+    gfits_free_matrix (&matrix);
 
     /* write out Missing table (convert to FITS table format) */
-    fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
-    if (!fits_fwrite_Theader (missing[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_table (missing[0].f, &ftable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
+    if (!gfits_fwrite_Theader (missing[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_table (missing[0].f, &ftable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -398,5 +398,5 @@
 
     /* write table PHU header */
-    if (!fits_fwrite_header  (secfilt[0].f, &secfilt[0].header)) {
+    if (!gfits_fwrite_header  (secfilt[0].f, &secfilt[0].header)) {
       fprintf (stderr, "can't write primary header");
       return (FALSE);
@@ -404,24 +404,24 @@
 
     /* this is probably a NOP, do I have to keep it in? */
-    fits_create_matrix (&secfilt[0].header, &matrix);
-    if (!fits_fwrite_matrix  (secfilt[0].f, &matrix)) {
+    gfits_create_matrix (&secfilt[0].header, &matrix);
+    if (!gfits_fwrite_matrix  (secfilt[0].f, &matrix)) {
       fprintf (stderr, "can't write primary matrix");
       return (FALSE);
     }
-    fits_free_matrix (&matrix);
+    gfits_free_matrix (&matrix);
 
     /* write out SecFilt table (convert to FITS table format) */
     Nitems = catalog[0].Naverage * catalog[0].Nsecfilt;
     SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat);
-    if (!fits_fwrite_Theader (secfilt[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_table (secfilt[0].f, &ftable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    if (!gfits_fwrite_Theader (secfilt[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_table (secfilt[0].f, &ftable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -453,9 +453,9 @@
 
   /* make sure header is consistent with data */
-  fits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
-  fits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure + catalog[0].Nmeas_off);
-  fits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
-  fits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
-  fits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
+  gfits_modify (&catalog[0].header, "NSTARS",   "%d", 1, catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",    "%d", 1, catalog[0].Nmeasure + catalog[0].Nmeas_off);
+  gfits_modify (&catalog[0].header, "NMISS",    "%d", 1, catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, catalog[0].Nsecfilt);
+  gfits_modify (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
 
   /* rewind file pointers and truncate (file is still open) */
@@ -464,5 +464,5 @@
   /* write table PHU header - always write this out */
   /* XXX EAM : check if disk file size has changed */
-  if (!fits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
+  if (!gfits_fwrite_header  (catalog[0].f, &catalog[0].header)) {
     fprintf (stderr, "can't write primary header");
     return (FALSE);
@@ -474,5 +474,5 @@
 
     /* skip past matrix (already at end of header) */
-    Nskip = fits_matrix_size (&catalog[0].header);
+    Nskip = gfits_matrix_size (&catalog[0].header);
     fseek (catalog[0].f, Nskip, SEEK_CUR);
 
@@ -483,17 +483,17 @@
     AverageToFtable (&ftable, catalog[0].average, catalog[0].Naverage, catalog[0].catformat);
     /* convert only output rows to vtable */
-    fits_table_to_vtable (&ftable, &vtable, catalog[0].Nave_disk, Nout);
-
-    if (!fits_fwrite_Theader (catalog[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_vtable (catalog[0].f, &vtable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_vtable (&vtable);
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    gfits_table_to_vtable (&ftable, &vtable, catalog[0].Nave_disk, Nout);
+
+    if (!gfits_fwrite_Theader (catalog[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_vtable (catalog[0].f, &vtable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_vtable (&vtable);
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -505,5 +505,5 @@
 
     /* skip past PHU header and matrix */
-    Nskip = measure[0].header.size + fits_matrix_size (&measure[0].header);
+    Nskip = measure[0].header.size + gfits_matrix_size (&measure[0].header);
     fseek (measure[0].f, Nskip, SEEK_SET);
 
@@ -516,6 +516,6 @@
     MeasureToFtable (&ftable, &catalog[0].measure[Nstart], Nout, catalog[0].catformat);
 
-    fits_scan (&header, "NAXIS1", "%d", 1, &Nx);
-    fits_scan (&header, "NAXIS2", "%d", 1, &Ny);
+    gfits_scan (&header, "NAXIS1", "%d", 1, &Nx);
+    gfits_scan (&header, "NAXIS2", "%d", 1, &Ny);
 
     /* convert all output rows to vtable */
@@ -529,22 +529,22 @@
 
     /* modify vtable to represent full disk table */
-    fits_modify (&header, "NAXIS2", "%d", 1, Nlines);
+    gfits_modify (&header, "NAXIS2", "%d", 1, Nlines);
     header.Naxis[1] = Nlines;
 
-    vtable.size = fits_matrix_size (&header);
+    vtable.size = gfits_matrix_size (&header);
     vtable.Nrow = Nout;
     vtable.pad = vtable.size - Nx*Ny;
 
-    if (!fits_fwrite_Theader (measure[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_vtable (measure[0].f, &vtable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_vtable (&vtable);
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    if (!gfits_fwrite_Theader (measure[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_vtable (measure[0].f, &vtable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_vtable (&vtable);
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -562,5 +562,5 @@
 
     /* write table PHU header */
-    if (!fits_fwrite_header  (missing[0].f, &missing[0].header)) {
+    if (!gfits_fwrite_header  (missing[0].f, &missing[0].header)) {
       fprintf (stderr, "can't write primary header");
       return (FALSE);
@@ -568,23 +568,23 @@
 
     /* this is probably a NOP, do I have to keep it in? */
-    fits_create_matrix (&missing[0].header, &matrix);
-    if (!fits_fwrite_matrix  (missing[0].f, &matrix)) {
+    gfits_create_matrix (&missing[0].header, &matrix);
+    if (!gfits_fwrite_matrix  (missing[0].f, &matrix)) {
       fprintf (stderr, "can't write primary matrix");
       return (FALSE);
     }
-    fits_free_matrix (&matrix);
+    gfits_free_matrix (&matrix);
 
     /* write out Missing table (convert to FITS table format) */
-    fits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
-    if (!fits_fwrite_Theader (missing[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_table (missing[0].f, &ftable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    gfits_table_set_Missing (&ftable, catalog[0].missing, catalog[0].Nmissing);
+    if (!gfits_fwrite_Theader (missing[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_table (missing[0].f, &ftable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
@@ -596,5 +596,5 @@
 
     /* skip past PHU header and matrix */
-    Nskip = secfilt[0].header.size + fits_matrix_size (&secfilt[0].header);
+    Nskip = secfilt[0].header.size + gfits_matrix_size (&secfilt[0].header);
     fseek (secfilt[0].f, Nskip, SEEK_SET);
 
@@ -607,17 +607,17 @@
     SecFiltToFtable (&ftable, catalog[0].secfilt, Nitems, catalog[0].catformat);
     /* convert only output rows to vtable */
-    fits_table_to_vtable (&ftable, &vtable, Ndisk, Nout);
-
-    if (!fits_fwrite_Theader (secfilt[0].f, &header)) {
-      fprintf (stderr, "can't write table header");
-      return (FALSE);
-    }
-    if (!fits_fwrite_vtable (secfilt[0].f, &vtable)) {
-      fprintf (stderr, "can't write table data");
-      return (FALSE);
-    }
-    fits_free_vtable (&vtable);
-    fits_free_table (&ftable);
-    fits_free_header (&header);
+    gfits_table_to_vtable (&ftable, &vtable, Ndisk, Nout);
+
+    if (!gfits_fwrite_Theader (secfilt[0].f, &header)) {
+      fprintf (stderr, "can't write table header");
+      return (FALSE);
+    }
+    if (!gfits_fwrite_vtable (secfilt[0].f, &vtable)) {
+      fprintf (stderr, "can't write table data");
+      return (FALSE);
+    }
+    gfits_free_vtable (&vtable);
+    gfits_free_table (&ftable);
+    gfits_free_header (&header);
   }
 
Index: trunk/Ohana/src/libdvo/src/dvo_convert.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 7080)
@@ -19,10 +19,10 @@
 
   /* convert to the internal format */
-  if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
+  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     fprintf (stderr, "EXTNAME missing for average table\n");
     return (FALSE);
   }
   if (!strcmp (extname, "DVO_AVERAGE")) {
-    average = fits_table_get_Average (ftable, Naverage, NULL);
+    average = gfits_table_get_Average (ftable, Naverage, NULL);
     *format = DVO_FORMAT_INTERNAL;
     return (average);
@@ -30,5 +30,5 @@
   if (!strcmp (extname, "DVO_AVERAGE_ELIXIR")) {
     AverageElixir *tmpAverage;
-    tmpAverage = fits_table_get_AverageElixir (ftable, Naverage, NULL);
+    tmpAverage = gfits_table_get_AverageElixir (ftable, Naverage, NULL);
     average = AverageElixirToInternal (tmpAverage, *Naverage);
     free (tmpAverage);
@@ -38,5 +38,5 @@
   if (!strcmp (extname, "DVO_AVERAGE_LONEOS")) {
     AverageLoneos *tmpAverage;
-    tmpAverage = fits_table_get_AverageLoneos (ftable, Naverage, NULL);
+    tmpAverage = gfits_table_get_AverageLoneos (ftable, Naverage, NULL);
     average = AverageLoneosToInternal (tmpAverage, *Naverage);
     free (tmpAverage);
@@ -46,5 +46,5 @@
   if (!strcmp (extname, "DVO_AVERAGE_PANSTARRS")) {
     AveragePanstarrs *tmpAverage;
-    tmpAverage = fits_table_get_AveragePanstarrs (ftable, Naverage, NULL);
+    tmpAverage = gfits_table_get_AveragePanstarrs (ftable, Naverage, NULL);
     average = AveragePanstarrsToInternal (tmpAverage, *Naverage);
     free (tmpAverage);
@@ -54,5 +54,5 @@
   if (!strcmp (extname, "DVO_AVERAGE_PMTEST")) {
     AveragePMtest *tmpAverage;
-    tmpAverage = fits_table_get_AveragePMtest (ftable, Naverage, NULL);
+    tmpAverage = gfits_table_get_AveragePMtest (ftable, Naverage, NULL);
     average = AveragePMtestToInternal (tmpAverage, *Naverage);
     free (tmpAverage);
@@ -77,24 +77,24 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_table_set_Average (ftable, average, Naverage);
+      gfits_table_set_Average (ftable, average, Naverage);
       break;
     case DVO_FORMAT_ELIXIR:
       tmpAverageElixir = AverageInternalToElixir (average, Naverage);
-      fits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage);
+      gfits_table_set_AverageElixir (ftable, tmpAverageElixir, Naverage);
       free (tmpAverageElixir);
       break;
     case DVO_FORMAT_LONEOS:
       tmpAverageLoneos  = AverageInternalToLoneos (average, Naverage);
-      fits_table_set_AverageLoneos (ftable, tmpAverageLoneos , Naverage);
+      gfits_table_set_AverageLoneos (ftable, tmpAverageLoneos , Naverage);
       free (tmpAverageLoneos );
       break;
     case DVO_FORMAT_PANSTARRS:
       tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage);
-      fits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage);
+      gfits_table_set_AveragePanstarrs (ftable, tmpAveragePanstarrs, Naverage);
       free (tmpAveragePanstarrs);
       break;
     case DVO_FORMAT_PMTEST:
       tmpAveragePMtest = AverageInternalToPMtest (average, Naverage);
-      fits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage);
+      gfits_table_set_AveragePMtest (ftable, tmpAveragePMtest, Naverage);
       free (tmpAveragePMtest);
       break;
@@ -114,10 +114,10 @@
 
   /* convert to the internal format */
-  if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
+  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     fprintf (stderr, "EXTNAME missing for measure table\n");
     return (FALSE);
   }
   if (!strcmp (extname, "DVO_MEASURE")) {
-    measure = fits_table_get_Measure (ftable, Nmeasure, NULL);
+    measure = gfits_table_get_Measure (ftable, Nmeasure, NULL);
     *format = DVO_FORMAT_INTERNAL;
     return (measure);
@@ -125,5 +125,5 @@
   if (!strcmp (extname, "DVO_MEASURE_ELIXIR")) {
     MeasureElixir *tmpMeasure;
-    tmpMeasure = fits_table_get_MeasureElixir (ftable, Nmeasure, NULL);
+    tmpMeasure = gfits_table_get_MeasureElixir (ftable, Nmeasure, NULL);
     measure = MeasureElixirToInternal (tmpMeasure, *Nmeasure);
     free (tmpMeasure);
@@ -133,5 +133,5 @@
   if (!strcmp (extname, "DVO_MEASURE_LONEOS")) {
     MeasureLoneos *tmpMeasure;
-    tmpMeasure = fits_table_get_MeasureLoneos (ftable, Nmeasure, NULL);
+    tmpMeasure = gfits_table_get_MeasureLoneos (ftable, Nmeasure, NULL);
     measure = MeasureLoneosToInternal (tmpMeasure, *Nmeasure);
     free (tmpMeasure);
@@ -141,5 +141,5 @@
   if (!strcmp (extname, "DVO_MEASURE_PANSTARRS") || !strcmp (extname, "DVO_MEASURE_PMTEST")) {
     MeasurePanstarrs *tmpMeasure;
-    tmpMeasure = fits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL);
+    tmpMeasure = gfits_table_get_MeasurePanstarrs (ftable, Nmeasure, NULL);
     measure = MeasurePanstarrsToInternal (tmpMeasure, *Nmeasure);
     free (tmpMeasure);
@@ -163,14 +163,14 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_table_set_Measure (ftable, measure, Nmeasure);
+      gfits_table_set_Measure (ftable, measure, Nmeasure);
       break;
     case DVO_FORMAT_ELIXIR:
       tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure);
-      fits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure);
+      gfits_table_set_MeasureElixir (ftable, tmpMeasureElixir, Nmeasure);
       free (tmpMeasureElixir);
       break;
     case DVO_FORMAT_LONEOS:
       tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure);
-      fits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure);
+      gfits_table_set_MeasureLoneos (ftable, tmpMeasureLoneos, Nmeasure);
       free (tmpMeasureLoneos);
       break;
@@ -178,5 +178,5 @@
     case DVO_FORMAT_PMTEST:
       tmpMeasurePanstarrs = MeasureInternalToPanstarrs (measure, Nmeasure);
-      fits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure);
+      gfits_table_set_MeasurePanstarrs (ftable, tmpMeasurePanstarrs, Nmeasure);
       free (tmpMeasurePanstarrs);
       break;
@@ -196,10 +196,10 @@
 
   /* convert to the internal format */
-  if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
+  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     fprintf (stderr, "EXTNAME missing for secfilt table\n");
     return (FALSE);
   }
   if (!strcmp (extname, "DVO_SECFILT")) {
-    secfilt = fits_table_get_SecFilt (ftable, Nsecfilt, NULL);
+    secfilt = gfits_table_get_SecFilt (ftable, Nsecfilt, NULL);
     *format = DVO_FORMAT_INTERNAL;
     return (secfilt);
@@ -207,5 +207,5 @@
   if (!strcmp (extname, "DVO_SECFILT_ELIXIR")) {
     SecFiltElixir *tmpSecFilt;
-    tmpSecFilt = fits_table_get_SecFiltElixir (ftable, Nsecfilt, NULL);
+    tmpSecFilt = gfits_table_get_SecFiltElixir (ftable, Nsecfilt, NULL);
     secfilt = SecFiltElixirToInternal (tmpSecFilt, *Nsecfilt);
     free (tmpSecFilt);
@@ -215,5 +215,5 @@
   if (!strcmp (extname, "DVO_SECFILT_LONEOS")) {
     SecFiltLoneos *tmpSecFilt;
-    tmpSecFilt = fits_table_get_SecFiltLoneos (ftable, Nsecfilt, NULL);
+    tmpSecFilt = gfits_table_get_SecFiltLoneos (ftable, Nsecfilt, NULL);
     secfilt = SecFiltLoneosToInternal (tmpSecFilt, *Nsecfilt);
     free (tmpSecFilt);
@@ -223,5 +223,5 @@
   if (!strcmp (extname, "DVO_SECFILT_PANSTARRS") || !strcmp (extname, "DVO_SECFILT_PMTEST")) {
     SecFiltPanstarrs *tmpSecFilt;
-    tmpSecFilt = fits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL);
+    tmpSecFilt = gfits_table_get_SecFiltPanstarrs (ftable, Nsecfilt, NULL);
     secfilt = SecFiltPanstarrsToInternal (tmpSecFilt, *Nsecfilt);
     free (tmpSecFilt);
@@ -245,14 +245,14 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_table_set_SecFilt (ftable, secfilt, Nsecfilt);
+      gfits_table_set_SecFilt (ftable, secfilt, Nsecfilt);
       break;
     case DVO_FORMAT_ELIXIR:
       tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt);
-      fits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt);
+      gfits_table_set_SecFiltElixir (ftable, tmpSecFiltElixir, Nsecfilt);
       free (tmpSecFiltElixir);
       break;
     case DVO_FORMAT_LONEOS:
       tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt);
-      fits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt);
+      gfits_table_set_SecFiltLoneos (ftable, tmpSecFiltLoneos, Nsecfilt);
       free (tmpSecFiltLoneos);
       break;
@@ -260,5 +260,5 @@
     case DVO_FORMAT_PMTEST:
       tmpSecFiltPanstarrs = SecFiltInternalToPanstarrs (secfilt, Nsecfilt);
-      fits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt);
+      gfits_table_set_SecFiltPanstarrs (ftable, tmpSecFiltPanstarrs, Nsecfilt);
       free (tmpSecFiltPanstarrs);
       break;
@@ -280,5 +280,5 @@
   if (*format == DVO_FORMAT_ELIXIR) {
     ImageElixir *tmpimage;
-    tmpimage = fits_table_get_ImageElixir (ftable, &Nimage, NULL);
+    tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL);
     ftable[0].buffer = (char *) ImageElixirToInternal (tmpimage, Nimage);
     free (tmpimage);
@@ -287,5 +287,5 @@
 
   /* convert to the internal format */
-  if (!fits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
+  if (!gfits_scan (ftable[0].header, "EXTNAME", "%s", 1, extname)) {
     fprintf (stderr, "EXTNAME missing for image table\n");
     return (FALSE);
@@ -293,5 +293,5 @@
   if (!strcmp (extname, "DVO_IMAGE")) {
     Image *image;
-    image = fits_table_get_Image (ftable, &Nimage, NULL);
+    image = gfits_table_get_Image (ftable, &Nimage, NULL);
     *format = DVO_FORMAT_INTERNAL;
     return (TRUE);
@@ -300,5 +300,5 @@
     ImageElixir *tmpimage;
     *format = DVO_FORMAT_ELIXIR;
-    tmpimage = fits_table_get_ImageElixir (ftable, &Nimage, NULL);
+    tmpimage = gfits_table_get_ImageElixir (ftable, &Nimage, NULL);
     ftable[0].buffer = (char *) ImageElixirToInternal (tmpimage, Nimage);
     free (tmpimage);
@@ -308,5 +308,5 @@
     ImageLoneos *tmpimage;
     *format = DVO_FORMAT_LONEOS;
-    tmpimage = fits_table_get_ImageLoneos (ftable, &Nimage, NULL);
+    tmpimage = gfits_table_get_ImageLoneos (ftable, &Nimage, NULL);
     ftable[0].buffer = (char *) ImageLoneosToInternal (tmpimage, Nimage);
     free (tmpimage);
@@ -316,5 +316,5 @@
     ImagePanstarrs *tmpimage;
     *format = DVO_FORMAT_PANSTARRS;
-    tmpimage = fits_table_get_ImagePanstarrs (ftable, &Nimage, NULL);
+    tmpimage = gfits_table_get_ImagePanstarrs (ftable, &Nimage, NULL);
     ftable[0].buffer = (char *) ImagePanstarrsToInternal (tmpimage, Nimage);
     free (tmpimage);
@@ -325,9 +325,9 @@
 
 set_header:
-  fits_free_header (theader);
-  fits_table_mkheader_Image (theader);
-  fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
+  gfits_free_header (theader);
+  gfits_table_mkheader_Image (theader);
+  gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
   theader[0].Naxis[1] = Nimage;
-  ftable[0].size = fits_matrix_size (theader);
+  ftable[0].size = gfits_matrix_size (theader);
   return (TRUE);
 }
@@ -345,10 +345,10 @@
   switch (format) {
     case DVO_FORMAT_INTERNAL:
-      fits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage);
+      gfits_convert_Image ((Image *) ftable[0].buffer, sizeof(Image), Nimage);
       break;
     case DVO_FORMAT_ELIXIR:
       tmpImageElixir = ImageInternalToElixir ((Image *) ftable[0].buffer, Nimage);
       free (ftable[0].buffer);
-      fits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage);
+      gfits_table_set_ImageElixir (ftable, tmpImageElixir, Nimage);
       free (tmpImageElixir);
       break;
@@ -356,5 +356,5 @@
       tmpImageLoneos = ImageInternalToLoneos ((Image *) ftable[0].buffer, Nimage);
       free (ftable[0].buffer);
-      fits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage);
+      gfits_table_set_ImageLoneos (ftable, tmpImageLoneos, Nimage);
       free (tmpImageLoneos);
       break;
@@ -363,5 +363,5 @@
       tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) ftable[0].buffer, Nimage);
       free (ftable[0].buffer);
-      fits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage);
+      gfits_table_set_ImagePanstarrs (ftable, tmpImagePanstarrs, Nimage);
       free (tmpImagePanstarrs);
       break;
@@ -386,5 +386,5 @@
     case DVO_FORMAT_INTERNAL:
       for (i = 0; i < Nrow; i++) {
-	fits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1);
+	gfits_convert_Image ((Image *) vtable[0].buffer[i], sizeof(Image), 1);
       }
       return (TRUE);
@@ -393,5 +393,5 @@
       for (i = 0; i < Nrow; i++) {
 	tmpImageElixir = ImageInternalToElixir ((Image *) vtable[0].buffer[i], 1);
-	fits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1);
+	gfits_convert_ImageElixir (tmpImageElixir, sizeof(ImageElixir), 1);
 	free (vtable[0].buffer[i]);
 	vtable[0].buffer[i] = (char *) tmpImageElixir;
@@ -399,12 +399,12 @@
 
       /* convert header from old format to new format */
-      fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
-
-      fits_free_header (theader);
-      fits_table_mkheader_ImageElixir (theader);
-
-      fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
+      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
+
+      gfits_free_header (theader);
+      gfits_table_mkheader_ImageElixir (theader);
+
+      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
       theader[0].Naxis[1] = Nimage;
-      vtable[0].size = fits_matrix_size (theader);
+      vtable[0].size = gfits_matrix_size (theader);
       return (TRUE);
     case DVO_FORMAT_LONEOS:
@@ -412,5 +412,5 @@
       for (i = 0; i < Nrow; i++) {
 	tmpImageLoneos = ImageInternalToLoneos ((Image *) vtable[0].buffer[i], 1);
-	fits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1);
+	gfits_convert_ImageLoneos (tmpImageLoneos, sizeof(ImageLoneos), 1);
 	free (vtable[0].buffer[i]);
 	vtable[0].buffer[i] = (char *) tmpImageLoneos;
@@ -418,12 +418,12 @@
 
       /* convert header from old format to new format */
-      fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
-
-      fits_free_header (theader);
-      fits_table_mkheader_ImageLoneos (theader);
-
-      fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
+      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
+
+      gfits_free_header (theader);
+      gfits_table_mkheader_ImageLoneos (theader);
+
+      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
       theader[0].Naxis[1] = Nimage;
-      vtable[0].size = fits_matrix_size (theader);
+      vtable[0].size = gfits_matrix_size (theader);
       return (TRUE);
     case DVO_FORMAT_PANSTARRS:
@@ -431,5 +431,5 @@
       for (i = 0; i < Nrow; i++) {
 	tmpImagePanstarrs = ImageInternalToPanstarrs ((Image *) vtable[0].buffer[i], 1);
-	fits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1);
+	gfits_convert_ImagePanstarrs (tmpImagePanstarrs, sizeof(ImagePanstarrs), 1);
 	free (vtable[0].buffer[i]);
 	vtable[0].buffer[i] = (char *) tmpImagePanstarrs;
@@ -437,10 +437,10 @@
 
       /* convert header from old format to new format */
-      fits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
-      fits_free_header (theader);
-      fits_table_mkheader_ImagePanstarrs (theader);
-      fits_modify (theader, "NAXIS2", "%d", 1, Nimage);
+      gfits_scan (theader, "NAXIS2", "%d", 1, &Nimage);
+      gfits_free_header (theader);
+      gfits_table_mkheader_ImagePanstarrs (theader);
+      gfits_modify (theader, "NAXIS2", "%d", 1, Nimage);
       theader[0].Naxis[1] = Nimage;
-      vtable[0].size = fits_matrix_size (theader);
+      vtable[0].size = gfits_matrix_size (theader);
       return (TRUE);
     default:
Index: trunk/Ohana/src/libdvo/src/dvo_image.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_image.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_image.c	(revision 7080)
@@ -9,7 +9,7 @@
   db[0].lockstate = lockstate;
   db[0].timeout   = timeout;
-  fits_db_init (db);
+  gfits_db_init (db);
 
-  if (!fits_db_lock (db, filename)) {
+  if (!gfits_db_lock (db, filename)) {
     fprintf (stderr, "ERROR: can't lock image catalog\n");
     return (FALSE);
@@ -22,5 +22,5 @@
   mode_t mode;
 
-  fits_db_close (db);
+  gfits_db_close (db);
 
   /* force permissions to 666 */
@@ -63,5 +63,5 @@
     case DVO_MODE_MEF:
       if (VERBOSE) fprintf (stderr, "reading images (mode DVO_MODE_MEF)\n");
-      status = fits_db_load (db);
+      status = gfits_db_load (db);
       break;
     case DVO_MODE_RAW:
@@ -91,5 +91,5 @@
     case DVO_MODE_MEF:
     case DVO_MODE_SPLIT:
-      status = fits_db_save (db);
+      status = gfits_db_save (db);
       break;
     case DVO_MODE_RAW:
@@ -109,10 +109,10 @@
   /* adjust header */
   Nimages = 0;
-  fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
+  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimages);
   Nimages += Nnew;
-  fits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
+  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, Nimages);
 
-  fits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
-  fits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));
+  gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
+  gfits_vadd_rows (&db[0].vtable, (char *) new, Nnew, sizeof(Image));
 
   /* check that primary header and table header agree */
@@ -137,5 +137,5 @@
     case DVO_MODE_MEF:
     case DVO_MODE_SPLIT:
-      status = fits_db_update (db);
+      status = gfits_db_update (db);
       break;
     case DVO_MODE_RAW:
Index: trunk/Ohana/src/libdvo/src/dvo_image_raw.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_image_raw.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/dvo_image_raw.c	(revision 7080)
@@ -12,5 +12,5 @@
 
   /* read fits header from file - return FALSE on error */
-  if (!fits_fread_header (db[0].f, &db[0].header)) {
+  if (!gfits_fread_header (db[0].f, &db[0].header)) {
     fprintf (stderr, "can't read primary header\n"); 
     return (FALSE);
@@ -19,5 +19,5 @@
   /* determine image table format */
   db[0].format = DVO_FORMAT_UNDEF;
-  if (fits_scan (&db[0].header, "FORMAT",  "%s", 1, format)) {
+  if (gfits_scan (&db[0].header, "FORMAT",  "%s", 1, format)) {
     if (!strcmp (format, "INTERNAL")) db[0].format = DVO_FORMAT_INTERNAL;
     if (!strcmp (format, "LONEOS")) db[0].format = DVO_FORMAT_LONEOS;
@@ -27,5 +27,5 @@
     if (db[0].format != DVO_FORMAT_UNDEF) goto got_format;
   }
-  if (fits_scan (&db[0].header, "TELESCOP",  "%s", 1, telescope)) {
+  if (gfits_scan (&db[0].header, "TELESCOP",  "%s", 1, telescope)) {
     if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) {
       db[0].format = DVO_FORMAT_LONEOS;
@@ -43,5 +43,5 @@
   /* find number of images */
   Nimage = 0;
-  fits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
+  gfits_scan (&db[0].header, "NIMAGES", "%d", 1, &Nimage);
   if (stat (db[0].filename, &filestatus) == -1) {
     if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
@@ -68,12 +68,12 @@
   /* create a dummy ftable, theader set for this data */
   /* (original table has NAXIS = 2, change to 0) */
-  /* fits_modify (&db[0].header, "NAXIS", "%d", 1, 0); */
-  fits_create_matrix (&db[0].header, &db[0].matrix);
+  /* gfits_modify (&db[0].header, "NAXIS", "%d", 1, 0); */
+  gfits_create_matrix (&db[0].header, &db[0].matrix);
   db[0].ftable.header = &db[0].theader;
 
-  if (db[0].format == DVO_FORMAT_INTERNAL)  fits_table_mkheader_Image (&db[0].theader);
-  if (db[0].format == DVO_FORMAT_LONEOS)    fits_table_mkheader_ImageLoneos (&db[0].theader);
-  if (db[0].format == DVO_FORMAT_ELIXIR)    fits_table_mkheader_ImageElixir (&db[0].theader);
-  if (db[0].format == DVO_FORMAT_PANSTARRS) fits_table_mkheader_ImagePanstarrs (&db[0].theader);
+  if (db[0].format == DVO_FORMAT_INTERNAL)  gfits_table_mkheader_Image (&db[0].theader);
+  if (db[0].format == DVO_FORMAT_LONEOS)    gfits_table_mkheader_ImageLoneos (&db[0].theader);
+  if (db[0].format == DVO_FORMAT_ELIXIR)    gfits_table_mkheader_ImageElixir (&db[0].theader);
+  if (db[0].format == DVO_FORMAT_PANSTARRS) gfits_table_mkheader_ImagePanstarrs (&db[0].theader);
     
   /* read data from file */
@@ -86,7 +86,7 @@
   } 
 
-  fits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
+  gfits_modify (&db[0].theader, "NAXIS2", "%d", 1, Nimage);
   db[0].theader.Naxis[1] = Nimage;
-  db[0].ftable.size = fits_matrix_size (&db[0].theader);
+  db[0].ftable.size = gfits_matrix_size (&db[0].theader);
   db[0].swapped = FALSE;  /* table does not have internal byte-order */
   return (TRUE);
@@ -112,9 +112,9 @@
   }
 
-  /** this code is identical to fits_fwrite_vtable, except without padding */
+  /** this code is identical to gfits_fwrite_vtable, except without padding */
   Nrow = db[0].vtable.Nrow;
   row = db[0].vtable.row;
-  fits_scan (db[0].vtable.header, "NAXIS1", "%d", 1, &Nx);
-  fits_scan (db[0].vtable.header, "NAXIS2", "%d", 1, &Ny);
+  gfits_scan (db[0].vtable.header, "NAXIS1", "%d", 1, &Nx);
+  gfits_scan (db[0].vtable.header, "NAXIS2", "%d", 1, &Ny);
 
   /* file pointer is at beginning of desired table data */
@@ -147,6 +147,6 @@
   }
 
-  fits_scan (db[0].ftable.header, "NAXIS1", "%d", 1, &Nx);
-  fits_scan (db[0].ftable.header, "NAXIS2", "%d", 1, &Ny);
+  gfits_scan (db[0].ftable.header, "NAXIS1", "%d", 1, &Nx);
+  gfits_scan (db[0].ftable.header, "NAXIS2", "%d", 1, &Ny);
   size = Nx * Ny;
   Nbytes = fwrite (db[0].ftable.buffer, sizeof(char), size, db[0].f);
Index: trunk/Ohana/src/libdvo/src/fits_db.c
===================================================================
--- trunk/Ohana/src/libdvo/src/fits_db.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/fits_db.c	(revision 7080)
@@ -2,5 +2,5 @@
 
 /* init the db structure */
-int fits_db_init (FITS_DB *db) {
+int gfits_db_init (FITS_DB *db) {
 
   db[0].f             = NULL;
@@ -19,15 +19,15 @@
 
 /* create an empty db */
-int fits_db_create (FITS_DB *db) {
-  fits_init_header (&db[0].header);    
+int gfits_db_create (FITS_DB *db) {
+  gfits_init_header (&db[0].header);    
   db[0].header.extend = TRUE;
-  fits_create_header (&db[0].header);
-  fits_create_matrix (&db[0].header, &db[0].matrix);
-  fits_print (&db[0].header, "NEXTEND", "%d", 1, 1);
+  gfits_create_header (&db[0].header);
+  gfits_create_matrix (&db[0].header, &db[0].matrix);
+  gfits_print (&db[0].header, "NEXTEND", "%d", 1, 1);
   db[0].ftable.header = &db[0].theader;
   return (TRUE);
 }
 
-int fits_db_lock (FITS_DB *db, char *filename) {
+int gfits_db_lock (FITS_DB *db, char *filename) {
   
   /* database name must be set first */
@@ -59,5 +59,5 @@
 
 /* load the complete db table into memory - load first extension, do not validate EXTNAME */
-int fits_db_load (FITS_DB *db) {
+int gfits_db_load (FITS_DB *db) {
 
   /* database name must be set first */
@@ -68,17 +68,17 @@
 
   /* init & load in FITS table data - return FALSE on error */
-  if (!fits_fread_header (db[0].f, &db[0].header)) {
+  if (!gfits_fread_header (db[0].f, &db[0].header)) {
     fprintf (stderr, "can't read primary header\n"); 
     return (FALSE);
   }
-  if (!fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
+  if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
     fprintf (stderr, "can't read primary matrix");
     return (FALSE);
   }
-  if (!fits_fread_header (db[0].f, &db[0].theader)) {
+  if (!gfits_fread_header (db[0].f, &db[0].theader)) {
     fprintf (stderr, "can't read table header");
     return (FALSE);
   }
-  if (!fits_fread_ftable_data (db[0].f, &db[0].ftable)) {
+  if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable)) {
     fprintf (stderr, "can't read table data");
     return (FALSE);
@@ -89,5 +89,5 @@
 
 /* load the data from Nrows from table starting at start; load header, etc if needed */
-int fits_db_load_segment (FITS_DB *db, int start, int Nrows) {
+int gfits_db_load_segment (FITS_DB *db, int start, int Nrows) {
 
   int Nskip;
@@ -110,5 +110,5 @@
   /* load or skip header */
   if (db[0].header.buffer == NULL) {
-    if (!fits_fread_header (db[0].f, &db[0].header)) {
+    if (!gfits_fread_header (db[0].f, &db[0].header)) {
       fprintf (stderr, "can't read primary header\n"); 
       return (FALSE);
@@ -121,10 +121,10 @@
   /* load or skip matrix */
   if (db[0].matrix.buffer == NULL) {
-    if (!fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
+    if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
       fprintf (stderr, "can't read primary matrix");
       return (FALSE);
     }
   } else {
-    Nskip = fits_matrix_size (&db[0].header);
+    Nskip = gfits_matrix_size (&db[0].header);
     Fseek (db[0].f, Nskip, SEEK_CUR);
   }
@@ -132,5 +132,5 @@
   /* load or skip table header */
   if (db[0].theader.buffer == NULL) {
-    if (!fits_fread_header (db[0].f, &db[0].theader)) {
+    if (!gfits_fread_header (db[0].f, &db[0].theader)) {
       fprintf (stderr, "can't read table header");
       return (FALSE);
@@ -142,5 +142,5 @@
 
   /* read table segment into vtable */
-  if (!fits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {
+  if (!gfits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {
     fprintf (stderr, "can't read table data");
     return (FALSE);
@@ -150,5 +150,5 @@
 
 /* write complete db file */
-int fits_db_save (FITS_DB *db) {
+int gfits_db_save (FITS_DB *db) {
 
   /* write all data to file */
@@ -156,17 +156,17 @@
   Fseek (db[0].f, 0, SEEK_SET);
 
-  if (!fits_fwrite_header  (db[0].f, &db[0].header)) {
+  if (!gfits_fwrite_header  (db[0].f, &db[0].header)) {
     fprintf (stderr, "can't write primary header");
     return (FALSE);
   }
-  if (!fits_fwrite_matrix  (db[0].f, &db[0].matrix)) {
+  if (!gfits_fwrite_matrix  (db[0].f, &db[0].matrix)) {
     fprintf (stderr, "can't write primary matrix");
     return (FALSE);
   }
-  if (!fits_fwrite_Theader (db[0].f, &db[0].theader)) {
+  if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) {
     fprintf (stderr, "can't write table header");
     return (FALSE);
   }
-  if (!fits_fwrite_table   (db[0].f, &db[0].ftable)) {
+  if (!gfits_fwrite_table   (db[0].f, &db[0].ftable)) {
     fprintf (stderr, "can't write table data");
     return (FALSE);
@@ -176,5 +176,5 @@
 
 /* write vtable to db file (also appends rows to the end of the table) */
-int fits_db_update (FITS_DB *db) {
+int gfits_db_update (FITS_DB *db) {
 
   /* this section is not valid if we have changed the size of header, matrix, theader */
@@ -185,17 +185,17 @@
 
   /* do we revert to the old version if this fails? */
-  if (!fits_fwrite_header   (db[0].f, &db[0].header))  {
+  if (!gfits_fwrite_header   (db[0].f, &db[0].header))  {
     fprintf (stderr, "can't update primary header");
     return (FALSE);
   }
-  if (!fits_fwrite_matrix   (db[0].f, &db[0].matrix))  {
+  if (!gfits_fwrite_matrix   (db[0].f, &db[0].matrix))  {
     fprintf (stderr, "can't update primary matrix");
     return (FALSE);
   }
-  if (!fits_fwrite_Theader  (db[0].f, &db[0].theader)) {
+  if (!gfits_fwrite_Theader  (db[0].f, &db[0].theader)) {
     fprintf (stderr, "can't update table header");
     return (FALSE);
   }
-  if (!fits_fwrite_vtable   (db[0].f, &db[0].vtable))  {
+  if (!gfits_fwrite_vtable   (db[0].f, &db[0].vtable))  {
     fprintf (stderr, "can't update table data");
     return (FALSE);
@@ -205,10 +205,10 @@
 
 /* free memory associated with db handle */
-int fits_db_free (FITS_DB *db) {
-  fits_free_header (&db[0].header);
-  fits_free_matrix (&db[0].matrix);
-  fits_free_header (&db[0].theader);
-  fits_free_table  (&db[0].ftable);
-  fits_free_vtable (&db[0].vtable);
+int gfits_db_free (FITS_DB *db) {
+  gfits_free_header (&db[0].header);
+  gfits_free_matrix (&db[0].matrix);
+  gfits_free_header (&db[0].theader);
+  gfits_free_table  (&db[0].ftable);
+  gfits_free_vtable (&db[0].vtable);
   if (db[0].filename != NULL) {
     free (db[0].filename);
@@ -219,5 +219,5 @@
 
 /* close the db files (close open file & unlock) */
-int fits_db_close (FITS_DB *db) {
+int gfits_db_close (FITS_DB *db) {
   if (db[0].f == NULL) return (TRUE);
   fclearlockfile (db[0].filename, db[0].f, db[0].lockstate, &db[0].dbstate);
Index: trunk/Ohana/src/libdvo/src/skyregion_gsc.c
===================================================================
--- trunk/Ohana/src/libdvo/src/skyregion_gsc.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/skyregion_gsc.c	(revision 7080)
@@ -33,5 +33,5 @@
   /* load in table data */
   ftable.header = &theader;
-  if (!fits_fread_ftable (f, &ftable, "REGIONS")) {
+  if (!gfits_fread_ftable (f, &ftable, "REGIONS")) {
     if (VERBOSE) fprintf (stderr, "can't read GSC Region table\n");
     fclose (f);
@@ -39,8 +39,8 @@
   }
 
-  fits_scan (ftable.header, "NAXIS1", "%d", 1, &Nx);
-  fits_scan (ftable.header, "NAXIS2", "%d", 1, &Ny);
-  
-  fits_free_header (&theader);
+  gfits_scan (ftable.header, "NAXIS1", "%d", 1, &Nx);
+  gfits_scan (ftable.header, "NAXIS2", "%d", 1, &Ny);
+  
+  gfits_free_header (&theader);
 
   /* build supporting level 0 and 1 regions */
Index: trunk/Ohana/src/libdvo/src/skyregion_io.c
===================================================================
--- trunk/Ohana/src/libdvo/src/skyregion_io.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/skyregion_io.c	(revision 7080)
@@ -19,19 +19,19 @@
   /* load in table data */
   ftable.header = &theader;
-  if (!fits_fread_header (f, &header)) {
+  if (!gfits_fread_header (f, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read Sky Region header\n");
     fclose (f);
     return (NULL);
   }
-  if (!fits_fread_matrix (f, &matrix, &header)) {
+  if (!gfits_fread_matrix (f, &matrix, &header)) {
     if (VERBOSE) fprintf (stderr, "can't read Sky Region matrix\n");
-    fits_free_header (&header);
+    gfits_free_header (&header);
     fclose (f);
     return (NULL);
   }
-  if (!fits_fread_ftable (f, &ftable, "SKY_REGION")) {
+  if (!gfits_fread_ftable (f, &ftable, "SKY_REGION")) {
     if (VERBOSE) fprintf (stderr, "can't read Sky Region table\n");
-    fits_free_header (&header);
-    fits_free_matrix (&matrix);
+    gfits_free_header (&header);
+    gfits_free_matrix (&matrix);
     fclose (f);
     return (NULL);
@@ -39,5 +39,5 @@
 
   ALLOCATE (skytable, SkyTable, 1);
-  skytable[0].regions = fits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL);
+  skytable[0].regions = gfits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL);
   ALLOCATE (skytable[0].filename, char *, skytable[0].Nregions);
   for (i = 0; i < skytable[0].Nregions; i++) {
@@ -45,7 +45,7 @@
   }
   
-  fits_free_header (&header);
-  fits_free_matrix (&matrix);
-  fits_free_header (&theader);
+  gfits_free_header (&header);
+  gfits_free_matrix (&matrix);
+  gfits_free_header (&theader);
 
   return (skytable);
@@ -62,10 +62,10 @@
   /* make phu header (no matrix needed) */
   ftable.header = &theader;
-  fits_init_header (&header);
+  gfits_init_header (&header);
   header.extend = TRUE;
-  fits_create_header (&header);
-  fits_create_matrix (&header, &matrix);
+  gfits_create_header (&header);
+  gfits_create_matrix (&header, &matrix);
 
-  fits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);
+  gfits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);
 
   f = fopen (filename, "w");
@@ -75,8 +75,8 @@
   }
   
-  fits_fwrite_header  (f, &header);
-  fits_fwrite_matrix  (f, &matrix);
-  fits_fwrite_Theader (f, &theader);
-  fits_fwrite_table  (f, &ftable);
+  gfits_fwrite_header  (f, &header);
+  gfits_fwrite_matrix  (f, &matrix);
+  gfits_fwrite_Theader (f, &theader);
+  gfits_fwrite_table  (f, &ftable);
   fclose (f);
 
@@ -120,5 +120,5 @@
   if (!SkyTableSave (sky, filename)) return NULL;
 
-  fits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions);
+  gfits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions);
   return (sky);
 
@@ -136,5 +136,5 @@
   if (!SkyTableSave (sky, filename)) return NULL;
 
-  fits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions);
+  gfits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions);
   return (sky);
 }
Index: trunk/Ohana/src/libdvo/src/skyregion_ops.c
===================================================================
--- trunk/Ohana/src/libdvo/src/skyregion_ops.c	(revision 7039)
+++ trunk/Ohana/src/libdvo/src/skyregion_ops.c	(revision 7080)
@@ -48,4 +48,39 @@
   list[0].filename[0] = table[0].filename[No];
   list[0].Nregions = 1;
+  return (list);
+}
+
+/* find regions at all levels which match name */
+/* XXX : need to add support for selected level / populated level */
+SkyList *SkyListByName (SkyTable *table, char *name) {
+
+  int i, Nchar, N, NREGIONS;
+  SkyList *list;
+  SkyRegion *region;
+  
+  N = 0;
+  NREGIONS = 10;
+  ALLOCATE (list, SkyList, 1);
+  ALLOCATE (list[0].regions, SkyRegion *, NREGIONS);
+  ALLOCATE (list[0].filename, char *, NREGIONS);
+  list[0].Nregions = N;
+
+  region = table[0].regions;
+
+  Nchar = strlen (name);
+
+  for (i = 0; i < table[0].Nregions; i++) {
+    if (strncasecmp (region[i].name, name, Nchar)) continue;
+
+    list[0].regions[N] = &region[i];
+    list[0].filename[N] = table[0].filename[i];
+    N++;
+    if (N >= NREGIONS) {
+	NREGIONS += 10;
+	REALLOCATE (list[0].regions, SkyRegion *, NREGIONS);
+	REALLOCATE (list[0].filename, char *, NREGIONS);
+    }
+  }
+  list[0].Nregions = N;
   return (list);
 }
