Index: /trunk/Ohana/src/addstar/src/rtext.c
===================================================================
--- /trunk/Ohana/src/addstar/src/rtext.c	(revision 4843)
+++ /trunk/Ohana/src/addstar/src/rtext.c	(revision 4844)
@@ -23,5 +23,5 @@
     /* load next data block */
     Nbytes = BYTES_STAR * BLOCK - Nextra;
-    nbytes = Fread (&buffer[Nextra], 1, Nbytes, f, "char");
+    nbytes = fread (&buffer[Nextra], 1, Nbytes, f);
     if (nbytes == 0) {
       *nstars = N;
Index: /trunk/Ohana/src/getstar/src/aregion.c
===================================================================
--- /trunk/Ohana/src/getstar/src/aregion.c	(revision 4843)
+++ /trunk/Ohana/src/getstar/src/aregion.c	(revision 4844)
@@ -79,5 +79,5 @@
       
   done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
+  fread (buffer, 1, 48*NDecLines[NBigDec], f);
   for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
     strncpy (temp, &buffer[i*48], 48);
Index: /trunk/Ohana/src/markrock/src/aregion.c
===================================================================
--- /trunk/Ohana/src/markrock/src/aregion.c	(revision 4843)
+++ /trunk/Ohana/src/markrock/src/aregion.c	(revision 4844)
@@ -83,5 +83,5 @@
       
   done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
+  fread (buffer, 1, 48*NDecLines[NBigDec], f);
   for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
     strncpy (temp, &buffer[i*48], 48);
Index: /trunk/Ohana/src/markstar/src/aregion.c
===================================================================
--- /trunk/Ohana/src/markstar/src/aregion.c	(revision 4843)
+++ /trunk/Ohana/src/markstar/src/aregion.c	(revision 4844)
@@ -83,5 +83,5 @@
       
   done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
+  Fread (buffer, 1, 48*NDecLines[NBigDec], f);
   for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
     strncpy (temp, &buffer[i*48], 48);
Index: /trunk/Ohana/src/markstar/src/old/gstars.c
===================================================================
--- /trunk/Ohana/src/markstar/src/old/gstars.c	(revision 4843)
+++ /trunk/Ohana/src/markstar/src/old/gstars.c	(revision 4844)
@@ -141,5 +141,5 @@
   ALLOCATE (buffer, char, (BLOCK*BYTES_STAR));
   for (i = 0; i < (int)(Nbytes / (BLOCK*BYTES_STAR)); i++) {
-    nbytes = Fread (buffer, 1, (BLOCK*BYTES_STAR), f, "char");
+    nbytes = Fread (buffer, 1, (BLOCK*BYTES_STAR), f);
     if (nbytes != BLOCK*BYTES_STAR) {
       fprintf (stderr, "ERROR: failed to read in stars (1)\n");
Index: /trunk/Ohana/src/misc/src/applyscat.c
===================================================================
--- /trunk/Ohana/src/misc/src/applyscat.c	(revision 4843)
+++ /trunk/Ohana/src/misc/src/applyscat.c	(revision 4844)
@@ -52,5 +52,5 @@
 
   /* load in data */
-  nbytes = Fread (buffer, 1, Nbytes, f, "char");
+  nbytes = fread (buffer, 1, Nbytes, f);
   if (nbytes != Nbytes) {
     fprintf (stderr, "ERROR: can't load in all stars\n");
Index: /trunk/Ohana/src/misc/src/fakestars.c
===================================================================
--- /trunk/Ohana/src/misc/src/fakestars.c	(revision 4843)
+++ /trunk/Ohana/src/misc/src/fakestars.c	(revision 4844)
@@ -70,5 +70,5 @@
   Nbytes = Nstar*BYTES_STAR;
   ALLOCATE (buffer, char, Nbytes + 1);
-  nbytes = Fread (buffer, 1, Nbytes, f, "char");
+  nbytes = fread (buffer, 1, Nbytes, f);
   if (nbytes != Nbytes) {
     fprintf (stderr, "ERROR: failed to read in %d stars\n", Nstar);
Index: /trunk/Ohana/src/mosastro/src/rtext.c
===================================================================
--- /trunk/Ohana/src/mosastro/src/rtext.c	(revision 4843)
+++ /trunk/Ohana/src/mosastro/src/rtext.c	(revision 4844)
@@ -24,5 +24,5 @@
   Nbytes = BYTES_STAR * mychip[0].Nstars;
   ALLOCATE (mychip[0].buffer, char, Nbytes + 1);
-  nbytes = Fread (mychip[0].buffer, 1, Nbytes, f, "char");
+  nbytes = fread (mychip[0].buffer, 1, Nbytes, f);
   if (nbytes != Nbytes) { exit (1); }
   mychip[0].Nbuffer = Nbytes;
Index: /trunk/Ohana/src/opihi/dvo/aregion.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/aregion.c	(revision 4843)
+++ /trunk/Ohana/src/opihi/dvo/aregion.c	(revision 4844)
@@ -48,5 +48,5 @@
       
   done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
+  fread (buffer, 1, 48*NDecLines[NBigDec], f);
   for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
     strncpy (temp, &buffer[i*48], 48);
Index: /trunk/Ohana/src/opihi/dvo/cmatch.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/cmatch.c	(revision 4843)
+++ /trunk/Ohana/src/opihi/dvo/cmatch.c	(revision 4844)
@@ -1,6 +1,3 @@
 # include "dvo1.h"
-# define BYTES_STAR 23
-# define BLOCK 1000
-# define DNSTARS 1000
 
 int cmatch (int argc, char **argv) {
@@ -15,11 +12,18 @@
   Vector *rvec, *dvec, *mvec, *drvec, *ddvec, *dmvec;
 
+  VarConfig ("GSCDIR", "%s", gscdir);
   VarConfig ("CATDIR", "%s", catdir);
-  VarConfig ("GSCDIR", "%s", gscdir);
+  if (VarConfig ("CATMODE", "%s", catalog.catmode) == NULL) 
+    strcpy (catalog.catmode, "RAW");
       
   if (argc != 9) {
     fprintf (stderr, "USAGE: cmatch file radius (RA) (DEC) (Mag) (dRA) (dDEC) (dMag)\n");
+    fprintf (stderr, "       match a set of object coordinates with a DVO db table\n");
     return (FALSE);
   }
+
+  /*** this function is not well-defined.  re-assess it and re-code it ***/
+  fprintf (stderr, "disabled for now\n");
+  return (FALSE);
 
   radius = atof (argv[2]);
@@ -34,45 +38,18 @@
   /* load data from the photometry database file */
   sprintf (filename, "%s/%s", catdir, argv[1]);
-  if (!fits_read_header (filename, &catalog1.header)) {
-    fprintf (stderr, "no stars in %s\n", filename);
+  catalog1.filename = filename;
+  switch (lock_catalog (&catalog, LCK_SOFT)) {
+  case 2:
+    unlock_catalog (&catalog);
+  case 0:
     return (FALSE);
   }
-  f = fopen (filename, "r");
-  if (f == (FILE *) NULL) {
-    fprintf (stderr, "no stars in %s\n", filename);
+  if (!load_catalog (&catalog, LOAD_AVES | LOAD_MEAS | LOAD_SECF, TRUE)) {
+    unlock_catalog (&catalog);
     return (FALSE);
   }
-  fseek (f, catalog1.header.size, SEEK_SET); 
-  
-  /** find number of stars, measurements **/
-  catalog1.Naverage = 0;
-  fits_scan (&catalog1.header, "NSTARS", "%d", 1, &catalog1.Naverage);
-  if (catalog1.Naverage == 0) {
-    fprintf (stderr, "no stars in catalog %s\n", filename);
-    fclose (f);
-    return (TRUE);
-  }
-  ALLOCATE (catalog1.average, Average, catalog1.Naverage);
-  Nitems = catalog1.Naverage;
-  nitems = Fread (catalog1.average, sizeof(Average), Nitems, f, "average");
-  if (nitems != Nitems) {
-    fprintf (stderr, "ERROR: failed to read data from catalog file %s (1)\n", filename);
-    fclose (f);
-    free (catalog1.average);
-    return (FALSE);
-  }
-  fclose (f);
+  unlock_catalog (&catalog);
   fprintf (stderr, "read %d stars from phot catalog file %s\n", catalog1.Naverage, filename);
 
-  /* load data from the GSC file */
-  sprintf (filename, "%s/%s", gscdir, argv[1]);
-  f = fopen (filename, "r");
-  if (f == (FILE *) NULL) {
-    fprintf (stderr, "no stars in %s\n", filename);
-    free (catalog1.average);
-    return (FALSE);
-    /* return (FALSE); */
-  }
-  
   nstar = 0;
   NSTARS = DNSTARS;
