Index: trunk/Ohana/configure.tcsh
===================================================================
--- trunk/Ohana/configure.tcsh	(revision 28232)
+++ trunk/Ohana/configure.tcsh	(revision 28241)
@@ -186,5 +186,9 @@
 
 # use_gnu99
-if ($use_gnu99) set CFLAGS = "$CFLAGS -std=gnu99"
+if ($use_gnu99) then
+    set CFLAGS = "$CFLAGS -std=gnu99"
+else
+    set CFLAGS = "$CFLAGS -std=gnu89"
+endif
 
 # no_largefiles
@@ -670,5 +674,5 @@
   --use-tcmalloc          use the alternate tcmalloc from Google
   --use-gnu99             use gnu99 flags to ensure C99 compatibility
-  --use-largefiles        ensure large file compatibility
+  --no-largefiles         skip large file compatibility
 
 Installation directories:
Index: trunk/Ohana/src/addstar/src/LoadStars.c
===================================================================
--- trunk/Ohana/src/addstar/src/LoadStars.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/LoadStars.c	(revision 28241)
@@ -81,5 +81,5 @@
       continue;
     }
-    if (VERBOSE) fprintf (stderr, "file %s has %d headers, including %lld images\n", file[i], Nheaders, (long long) NheaderSets);
+    if (VERBOSE) fprintf (stderr, "file %s has %d headers, including "OFF_T_FMT" images\n", file[i], Nheaders,  NheaderSets);
 
     /* supplied photcode is incompatible with multi-chip images */
Index: trunk/Ohana/src/addstar/src/SkyTableFromTychoIndex.c
===================================================================
--- trunk/Ohana/src/addstar/src/SkyTableFromTychoIndex.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/SkyTableFromTychoIndex.c	(revision 28241)
@@ -147,5 +147,5 @@
     skytable[0].filename[i] = NULL;
   }
-  if (VERBOSE) fprintf (stderr, "loaded %lld tables from tycho index\n", (long long) skytable[0].Nregions);
+  if (VERBOSE) fprintf (stderr, "loaded "OFF_T_FMT" tables from tycho index\n",  skytable[0].Nregions);
 
   return (skytable);
Index: trunk/Ohana/src/addstar/src/addstar.c
===================================================================
--- trunk/Ohana/src/addstar/src/addstar.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/addstar.c	(revision 28241)
@@ -48,5 +48,5 @@
 	newlist = SkyListByImage (sky, -1, &images[i]);
 	SkyListMerge (&skylist, newlist);
-	if (VERBOSE) fprintf (stderr, "added %lld regions to yield %lld total\n", (long long) newlist[0].Nregions, (long long) skylist[0].Nregions);
+	if (VERBOSE) fprintf (stderr, "added "OFF_T_FMT" regions to yield "OFF_T_FMT" total\n",  newlist[0].Nregions,  skylist[0].Nregions);
 	SkyListFree (newlist);
       }
@@ -80,5 +80,5 @@
     skylist = tmp;
   }
-  if (VERBOSE) fprintf (stderr, "writing to %lld regions\n", (long long) skylist[0].Nregions);
+  if (VERBOSE) fprintf (stderr, "writing to "OFF_T_FMT" regions\n",  skylist[0].Nregions);
 
   /* don't load the object tables for only_images, unless we are getting the calibration. */
@@ -213,5 +213,5 @@
   gettimeofday (&stop, NULL);
   dtime = DTIME (stop, start);
-  fprintf (stderr, "SUCCESS: elapsed time %9.4f sec for %5d stars (%5d matches), %6lld average, %7lld measure\n", dtime, Nstars, Nmatch, (long long) Naverage, (long long) Nmeasure);
+  fprintf (stderr, "SUCCESS: elapsed time %9.4f sec for %5d stars (%5d matches), "OFF_T_FMT" average, "OFF_T_FMT" measure\n", dtime, Nstars, Nmatch,  Naverage,  Nmeasure);
 
   exit (0);
Index: trunk/Ohana/src/addstar/src/find_matches.c
===================================================================
--- trunk/Ohana/src/addstar/src/find_matches.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/find_matches.c	(revision 28241)
@@ -356,5 +356,5 @@
   catalog[0].Nmeasure = Nmeas;
   catalog[0].Nsecf_mem = Nave*Nsecfilt;
-  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
+  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
   free (catalog[0].found);
Index: trunk/Ohana/src/addstar/src/find_matches_closest.c
===================================================================
--- trunk/Ohana/src/addstar/src/find_matches_closest.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/find_matches_closest.c	(revision 28241)
@@ -350,5 +350,5 @@
   catalog[0].Nmeasure = Nmeas;
   catalog[0].Nsecf_mem = Nave*Nsecfilt;
-  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
+  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
   free (catalog[0].found);
Index: trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c
===================================================================
--- trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/find_matches_closest_refstars.c	(revision 28241)
@@ -361,5 +361,5 @@
   catalog[0].Nmeasure = Nmeas;
   catalog[0].Nsecf_mem = Nave*Nsecfilt;
-  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
+  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
   free (catalog[0].found);
Index: trunk/Ohana/src/addstar/src/find_matches_refstars.c
===================================================================
--- trunk/Ohana/src/addstar/src/find_matches_refstars.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/find_matches_refstars.c	(revision 28241)
@@ -329,5 +329,5 @@
   catalog[0].Nmeasure = Nmeas;
   catalog[0].Nsecf_mem = Nave*Nsecfilt;
-  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
+  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %d "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
   free (catalog[0].found);
Index: trunk/Ohana/src/addstar/src/sky_tessalation.c
===================================================================
--- trunk/Ohana/src/addstar/src/sky_tessalation.c	(revision 28232)
+++ trunk/Ohana/src/addstar/src/sky_tessalation.c	(revision 28241)
@@ -940,5 +940,5 @@
 int dvo_image_clear_vtable (FITS_DB *db) {
 
-  int i;
+  int i, nbytes;
 
   // free memory used by the current vtable rows
@@ -951,5 +951,6 @@
 
   // reset db[0].theader(NAXIS1) to match Image
-  gfits_modify (&db[0].theader, "NAXIS1", "%lld", 1, (long long) sizeof(Image));
+  nbytes = sizeof(Image);
+  gfits_modify (&db[0].theader, "NAXIS1", "%d", 1,  nbytes);
   db[0].theader.Naxis[0] = sizeof(Image);
 
Index: trunk/Ohana/src/delstar/src/delete_imagename.c
===================================================================
--- trunk/Ohana/src/delstar/src/delete_imagename.c	(revision 28232)
+++ trunk/Ohana/src/delstar/src/delete_imagename.c	(revision 28241)
@@ -77,9 +77,9 @@
   Noutimage = Nimage - Nimlist;
   
-  if (VERBOSE) fprintf (stderr, "removing %lld images (leaving %lld of %lld)\n", (long long) Nimlist, (long long) Noutimage, (long long) Nimage);
+  if (VERBOSE) fprintf (stderr, "removing "OFF_T_FMT" images (leaving "OFF_T_FMT" of "OFF_T_FMT")\n",  Nimlist,  Noutimage,  Nimage);
   // gfits_table_set_Image (&db[0].ftable, outimage, Noutimage);
 
-  gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Noutimage);
-  gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, (long long) Noutimage);
+  gfits_modify (&db[0].theader, "NAXIS2", OFF_T_FMT, 1,  Noutimage);
+  gfits_modify (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  Noutimage);
   db[0].theader.Naxis[1] = Noutimage;
   db[0].ftable.buffer = (char *) outimage;
Index: trunk/Ohana/src/delstar/src/delete_missed.c
===================================================================
--- trunk/Ohana/src/delstar/src/delete_missed.c	(revision 28232)
+++ trunk/Ohana/src/delstar/src/delete_missed.c	(revision 28241)
@@ -11,5 +11,5 @@
   Nmiss = catalog[0].Nmissing;
   
-  if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
+  if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas,  Nmiss);
 
   /* set up references for missing to average */
@@ -19,5 +19,5 @@
   REALLOCATE (catalog[0].missing, Missing, 1);
   catalog[0].Nmissing = 0;
-  if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
+  if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas,  Nmiss);
 }
 
Index: trunk/Ohana/src/delstar/src/find_matches.c
===================================================================
--- trunk/Ohana/src/delstar/src/find_matches.c	(revision 28232)
+++ trunk/Ohana/src/delstar/src/find_matches.c	(revision 28241)
@@ -22,5 +22,5 @@
   ALLOCATE (ave_miss, off_t, MAX(Nmiss,1));
   
-  if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
+  if (VERBOSE) fprintf (stderr, "starting with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas,  Nmiss);
 
   /* set up pointers for linked list of measure */
@@ -75,5 +75,5 @@
       if (next_meas[j] != i) {
 	fprintf (stderr, "error? (1)  this link seems to have been lost\n");
-	fprintf (stderr, "j: %lld, next_meas[j]: %lld, i: %lld\n", (long long) j, (long long) next_meas[j], (long long) i);
+	fprintf (stderr, "j: "OFF_T_FMT", next_meas[j]: "OFF_T_FMT", i: "OFF_T_FMT"\n",  j,  next_meas[j],  i);
 	exit (1);
       }
@@ -108,5 +108,5 @@
 	if (next_miss[j] != m) {
 	  fprintf (stderr, "error? (2) this link seems to have been lost\n");
-	  fprintf (stderr, "j: %lld, next_miss[j]: %lld, i: %lld\n", (long long) j, (long long) next_miss[j], (long long) i);
+	  fprintf (stderr, "j: "OFF_T_FMT", next_miss[j]: "OFF_T_FMT", i: "OFF_T_FMT"\n",  j,  next_miss[j],  i);
 	  exit (1);
 	}
@@ -131,5 +131,5 @@
     }
   } 
-  fprintf (stderr, "found %lld meas to remove\n", (long long) Nmeasfound);
+  fprintf (stderr, "found "OFF_T_FMT" meas to remove\n",  Nmeasfound);
 
   if (VERBOSE) fprintf (stderr, "fixing missing..."); 
@@ -146,5 +146,5 @@
       if (next_miss[j] != i) {
 	fprintf (stderr, "error? (3) this link seems to have been lost\n");
-	fprintf (stderr, "j: %lld, next_miss[j]: %lld, i: %lld\n", (long long) j, (long long) next_miss[j], (long long) i);
+	fprintf (stderr, "j: "OFF_T_FMT", next_miss[j]: "OFF_T_FMT", i: "OFF_T_FMT"\n",  j,  next_miss[j],  i);
 	exit (1);
       }
@@ -249,5 +249,5 @@
   catalog[0].Nsecf_mem = Nave*Nsecfilt;
 
-  if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: %lld %lld %lld\n", (long long) Nave, (long long) Nmeas, (long long) Nmiss);
+  if (VERBOSE) fprintf (stderr, "  ending with Nave, Nmeas, Nmiss: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT"\n",  Nave,  Nmeas,  Nmiss);
 
   free (next_meas);
Index: trunk/Ohana/src/dvomerge/src/dvo_image_merge_dbs.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/dvo_image_merge_dbs.c	(revision 28232)
+++ trunk/Ohana/src/dvomerge/src/dvo_image_merge_dbs.c	(revision 28241)
@@ -17,6 +17,6 @@
  /* adjust header */
   Nout = 0;
-  gfits_scan (&out[0].header, "NIMAGES", "%lld", 1, (long long *) &Nout);
-  status = gfits_scan (&out[0].header, "IMAGEID", "%lld", 1, (long long *) &IDstart);
+  gfits_scan (&out[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nout);
+  status = gfits_scan (&out[0].header, "IMAGEID", OFF_T_FMT, 1,  &IDstart);
   if (!status) {
     IDstart = 1;
@@ -36,6 +36,6 @@
   Nout += Nimages;
   IDstart += Nimages;
-  gfits_modify (&out[0].header, "NIMAGES", "%lld", 1, (long long) Nout);
-  gfits_modify (&out[0].header, "IMAGEID", "%lld", 1, (long long) IDstart);
+  gfits_modify (&out[0].header, "NIMAGES", OFF_T_FMT, 1,  Nout);
+  gfits_modify (&out[0].header, "IMAGEID", OFF_T_FMT, 1,  IDstart);
 
   gfits_add_rows (&out[0].ftable, (char *) images, Nimages, sizeof(Image));
@@ -65,5 +65,5 @@
     newID = dvo_map_image_ID (IDmap, oldID);
     if (newID == 0) {
-      fprintf (stderr, "cannot find image ID %lld\n", (long long) oldID);
+      fprintf (stderr, "cannot find image ID "OFF_T_FMT"\n",  oldID);
       exit (2);
     }
Index: trunk/Ohana/src/dvomerge/src/dvoconvert.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/dvoconvert.c	(revision 28232)
+++ trunk/Ohana/src/dvomerge/src/dvoconvert.c	(revision 28241)
@@ -150,7 +150,7 @@
 
   // update additional metadata
-  gfits_scan (&inDB.header, "IMAGEID", "%lld", 1, (long long *) &ID);
-  gfits_modify (&outDB.header, "NIMAGES", "%lld", 1, (long long) Nimages);
-  gfits_modify (&outDB.header, "IMAGEID", "%lld", 1, (long long) ID);
+  gfits_scan (&inDB.header, "IMAGEID", OFF_T_FMT, 1,  &ID);
+  gfits_modify (&outDB.header, "NIMAGES", OFF_T_FMT, 1,  Nimages);
+  gfits_modify (&outDB.header, "IMAGEID", OFF_T_FMT, 1,  ID);
 
   // copy input rows to output table
Index: trunk/Ohana/src/dvomerge/src/merge_catalogs_new.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/merge_catalogs_new.c	(revision 28232)
+++ trunk/Ohana/src/dvomerge/src/merge_catalogs_new.c	(revision 28241)
@@ -72,8 +72,8 @@
   
   if (VERBOSE) {
-      fprintf (stderr, "%lld: using %lld stars (%lld measures) for catalog\n", 
-	       (long long) i, 
-	       (long long) output[0].Naverage, 
-	       (long long) output[0].Nmeasure);
+      fprintf (stderr, OFF_T_FMT": using "OFF_T_FMT" stars ("OFF_T_FMT" measures) for catalog\n", 
+	        i, 
+	        output[0].Naverage, 
+	        output[0].Nmeasure);
   }
   return (TRUE);
Index: trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
===================================================================
--- trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 28232)
+++ trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 28241)
@@ -183,5 +183,5 @@
       output[0].measure[Nmeas].catID    = output[0].catID;
 
-      // fprintf (stderr, "Nave : %lld, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", (long long) n, (long long) Nmeas, output[0].measure[Nmeas].dR, output[0].measure[Nmeas].dD, output[0].measure[i].catID);
+      // fprintf (stderr, "Nave : "OFF_T_FMT", Nmeas : "OFF_T_FMT", dR: %f, dD: %f, catID: %d\n",  n,  Nmeas, output[0].measure[Nmeas].dR, output[0].measure[Nmeas].dD, output[0].measure[i].catID);
 
       // rationalize dR
@@ -216,5 +216,5 @@
   fprintf (stderr, "--- 1 ---\n");
   for (i = 0; i < Nmeas; i++) {
-    fprintf (stderr, "Nave : %d, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef, (long long) i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
+    fprintf (stderr, "Nave : %d, Nmeas : "OFF_T_FMT", dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef,  i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
   }
 # endif
@@ -321,5 +321,5 @@
   fprintf (stderr, "--- 2 ---\n");
   for (i = 0; i < Nmeas; i++) {
-    fprintf (stderr, "Nave : %d, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef, (long long) i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
+    fprintf (stderr, "Nave : %d, Nmeas : "OFF_T_FMT", dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef,  i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
   }
 # endif
@@ -336,5 +336,5 @@
   fprintf (stderr, "--- 3 ---\n");
   for (i = 0; i < Nmeas; i++) {
-    fprintf (stderr, "Nave : %d, Nmeas : %lld, dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef, (long long) i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
+    fprintf (stderr, "Nave : %d, Nmeas : "OFF_T_FMT", dR: %f, dD: %f, catID: %d\n", output[0].measure[i].averef,  i, output[0].measure[i].dR, output[0].measure[i].dD, output[0].measure[i].catID);
   }
 # endif
@@ -354,5 +354,5 @@
   output[0].Nmeasure = Nmeas;
   output[0].Nsecf_mem = Nave*Nsecfilt;
-  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: %lld %lld %lld, (%lld matches)\n", (long long) Nstars, (long long) Nave, (long long) Nmeas, (long long) Nmatch);
+  if (VERBOSE) fprintf (stderr, "Nstars, Nave, Nmeas: "OFF_T_FMT" "OFF_T_FMT" "OFF_T_FMT", ("OFF_T_FMT" matches)\n",  Nstars,  Nave,  Nmeas,  Nmatch);
 
   free (next_meas);
Index: trunk/Ohana/src/fixcat/src/wcatalog.c
===================================================================
--- trunk/Ohana/src/fixcat/src/wcatalog.c	(revision 28232)
+++ trunk/Ohana/src/fixcat/src/wcatalog.c	(revision 28241)
@@ -34,7 +34,7 @@
   chmod (filename, mode);
   
-  gfits_modify (&catalog[0].header, "NSTARS", "%lld", 1, catalog[0].Naverage);
-  gfits_modify (&catalog[0].header, "NMEAS",  "%lld", 1, catalog[0].Nmeasure);
-  gfits_modify (&catalog[0].header, "NMISS",  "%lld", 1, catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",  OFF_T_FMT, 1, catalog[0].Nmeasure);
+  gfits_modify (&catalog[0].header, "NMISS",  OFF_T_FMT, 1, catalog[0].Nmissing);
 
   gfits_modify_alt (&catalog[0].header, "MARKSTAR", "%t", 1, TRUE);
Index: trunk/Ohana/src/getstar/src/MatchImages.c
===================================================================
--- trunk/Ohana/src/getstar/src/MatchImages.c	(revision 28232)
+++ trunk/Ohana/src/getstar/src/MatchImages.c	(revision 28241)
@@ -132,5 +132,5 @@
   }
   
-  if (VERBOSE) fprintf (stderr, "found %lld overlapping images\n", (long long) nmatch);
+  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" overlapping images\n",  nmatch);
 
   *Nmatch = nmatch;
Index: trunk/Ohana/src/getstar/src/SelectImages.c
===================================================================
--- trunk/Ohana/src/getstar/src/SelectImages.c	(revision 28232)
+++ trunk/Ohana/src/getstar/src/SelectImages.c	(revision 28241)
@@ -31,5 +31,5 @@
   }  
 
-  if (VERBOSE) fprintf (stderr, "found %lld matching images\n", (long long) nmatch);
+  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" matching images\n",  nmatch);
 
   *Nmatch = nmatch;
Index: trunk/Ohana/src/getstar/src/select_by_region.c
===================================================================
--- trunk/Ohana/src/getstar/src/select_by_region.c	(revision 28232)
+++ trunk/Ohana/src/getstar/src/select_by_region.c	(revision 28241)
@@ -161,6 +161,6 @@
   output[0].Nsecf_mem = Nave*Nsecfilt;
 
-  fprintf (stderr, "output catalog has %lld stars (%lld measures, %d secfilt)\n",
-           (long long) output[0].Naverage, (long long) output[0].Nmeasure, output[0].Nsecfilt);
+  fprintf (stderr, "output catalog has "OFF_T_FMT" stars ("OFF_T_FMT" measures, %d secfilt)\n",
+            output[0].Naverage,  output[0].Nmeasure, output[0].Nsecfilt);
   return (TRUE);
 }
Index: trunk/Ohana/src/imregister/detrend/delete.c
===================================================================
--- trunk/Ohana/src/imregister/detrend/delete.c	(revision 28232)
+++ trunk/Ohana/src/imregister/detrend/delete.c	(revision 28241)
@@ -10,5 +10,5 @@
   ALLOCATE (keep, off_t, MAX (Nimage, 1));
   for (i = 0; i < Nimage; i++) keep[i] = TRUE;
-  fprintf (stderr, "total of %lld detrend images\n", (long long) Nimage);
+  fprintf (stderr, "total of "OFF_T_FMT" detrend images\n",  Nimage);
 
   Ndel = 0;
@@ -20,5 +20,5 @@
     delete_image (&image[i]);
   }
-  fprintf (stderr, "delete %lld images\n", (long long) Ndel);
+  fprintf (stderr, "delete "OFF_T_FMT" images\n",  Ndel);
   if (Ndel == 0) { 
     fprintf (stderr, "SUCCESS\n");
@@ -30,5 +30,5 @@
   Nsubset = Nimage - Ndel;
   ALLOCATE (subset, DetReg, MAX (1, Nsubset));
-  fprintf (stderr, "keeping %lld images\n", (long long) Nsubset);
+  fprintf (stderr, "keeping "OFF_T_FMT" images\n",  Nsubset);
   for (j = i = 0; i < Nimage; i++) {
     if (!keep[i]) continue;
Index: trunk/Ohana/src/imregister/imphot/rtext.c
===================================================================
--- trunk/Ohana/src/imregister/imphot/rtext.c	(revision 28232)
+++ trunk/Ohana/src/imregister/imphot/rtext.c	(revision 28241)
@@ -10,5 +10,5 @@
   /* check that file size makes sense */
   Nimage = 0;
-  gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
   if (stat (db[0].filename, &filestatus) == -1) {
     if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
@@ -21,5 +21,5 @@
     Ndata = (filestatus.st_size - db[0].header.datasize) / sizeof (Image);
     if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
-    if (VERBOSE) fprintf (stderr, "header: %lld, data: %d\n", (long long) Nimage, Ndata);
+    if (VERBOSE) fprintf (stderr, "header: "OFF_T_FMT", data: %d\n",  Nimage, Ndata);
     if (!FORCE_READ) exit (1);
     Nimage = Ndata;
@@ -41,5 +41,5 @@
   } 
   db[0].ftable.buffer = (char *) image;
-  gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Nimage);
+  gfits_modify (&db[0].theader, "NAXIS2", OFF_T_FMT, 1,  Nimage);
   db[0].theader.Naxis[1] = Nimage;
   db[0].ftable.datasize = gfits_data_size (&db[0].theader);
Index: trunk/Ohana/src/imregister/imreg/delete.c
===================================================================
--- trunk/Ohana/src/imregister/imreg/delete.c	(revision 28232)
+++ trunk/Ohana/src/imregister/imreg/delete.c	(revision 28241)
@@ -10,5 +10,5 @@
   ALLOCATE (keep, off_t, MAX (Nimage, 1));
   for (i = 0; i < Nimage; i++) keep[i] = TRUE;
-  fprintf (stderr, "total of %lld images\n", (long long) Nimage);
+  fprintf (stderr, "total of "OFF_T_FMT" images\n",  Nimage);
 
   Ndel = 0;
@@ -19,5 +19,5 @@
     Ndel ++;
   }
-  fprintf (stderr, "delete %lld images\n", (long long) Ndel);
+  fprintf (stderr, "delete "OFF_T_FMT" images\n",  Ndel);
   if (Ndel == 0) { 
     fprintf (stderr, "SUCCESS\n");
@@ -29,5 +29,5 @@
   Nsubset = Nimage - Ndel;
   ALLOCATE (subset, RegImage, MAX (1, Nsubset));
-  fprintf (stderr, "keeping %lld images\n", (long long) Nsubset);
+  fprintf (stderr, "keeping "OFF_T_FMT" images\n",  Nsubset);
   for (j = i = 0; i < Nimage; i++) {
     if (!keep[i]) continue;
Index: trunk/Ohana/src/imregister/photreg/delete.c
===================================================================
--- trunk/Ohana/src/imregister/photreg/delete.c	(revision 28232)
+++ trunk/Ohana/src/imregister/photreg/delete.c	(revision 28241)
@@ -10,5 +10,5 @@
   ALLOCATE (keep, off_t, MAX (Nphotdata, 1));
   for (i = 0; i < Nphotdata; i++) keep[i] = TRUE;
-  fprintf (stderr, "total of %lld photdata\n", (long long) Nphotdata);
+  fprintf (stderr, "total of "OFF_T_FMT" photdata\n",  Nphotdata);
 
   Ndel = 0;
@@ -19,5 +19,5 @@
     Ndel ++;
   }
-  fprintf (stderr, "delete %lld photdata\n", (long long) Ndel);
+  fprintf (stderr, "delete "OFF_T_FMT" photdata\n",  Ndel);
 
   if (Ndel == 0) { 
@@ -31,5 +31,5 @@
   Nsubset = Nphotdata - Ndel;
   ALLOCATE (subset, PhotPars, MAX (1, Nsubset));
-  fprintf (stderr, "keeping %lld photdata\n", (long long) Nsubset);
+  fprintf (stderr, "keeping "OFF_T_FMT" photdata\n",  Nsubset);
   for (j = i = 0; i < Nphotdata; i++) {
     if (!keep[i]) continue;
Index: trunk/Ohana/src/imregister/spreg/delete.c
===================================================================
--- trunk/Ohana/src/imregister/spreg/delete.c	(revision 28232)
+++ trunk/Ohana/src/imregister/spreg/delete.c	(revision 28241)
@@ -10,5 +10,5 @@
   ALLOCATE (keep, off_t, MAX (Nspectrum, 1));
   for (i = 0; i < Nspectrum; i++) keep[i] = TRUE;
-  fprintf (stderr, "total of %lld spectra\n", (long long) Nspectrum);
+  fprintf (stderr, "total of "OFF_T_FMT" spectra\n",  Nspectrum);
 
   Nbad = 0;
@@ -19,5 +19,5 @@
     Nbad ++;
   }
-  fprintf (stderr, "delete %lld spectra\n", (long long) Nbad);
+  fprintf (stderr, "delete "OFF_T_FMT" spectra\n",  Nbad);
   if (Nbad == 0) { 
     fprintf (stderr, "SUCCESS\n");
@@ -28,5 +28,5 @@
   Nsubset = Nspectrum - Nbad;
   ALLOCATE (subset, Spectrum, MAX (1, Nsubset));
-  fprintf (stderr, "keeping %lld spectra\n", (long long) Nsubset);
+  fprintf (stderr, "keeping "OFF_T_FMT" spectra\n",  Nsubset);
   for (j = i = 0; i < Nspectrum; i++) {
     if (!keep[i]) continue;
Index: trunk/Ohana/src/imregister/src/convertimreg.c
===================================================================
--- trunk/Ohana/src/imregister/src/convertimreg.c	(revision 28232)
+++ trunk/Ohana/src/imregister/src/convertimreg.c	(revision 28241)
@@ -41,9 +41,9 @@
 
   /* load existing data from database */
-  gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
   ALLOCATE (pimage, RegImage, Nimage);
   status = fread (pimage, sizeof(RegImage), Nimage, f);
   if (status != Nimage) {
-    fprintf (stderr, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status);
+    fprintf (stderr, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nimage,  status);
     fclearlockfile (argv[1], f, lockstate, &dbstate);
     exit (1);
Index: trunk/Ohana/src/imregister/src/imphotmerge.c
===================================================================
--- trunk/Ohana/src/imregister/src/imphotmerge.c	(revision 28232)
+++ trunk/Ohana/src/imregister/src/imphotmerge.c	(revision 28241)
@@ -113,5 +113,5 @@
   }
   Nimage += Nin;
-  gfits_modify (&header, "NIMAGES", "%lld", 1, (long long) Nimage);
+  gfits_modify (&header, "NIMAGES", OFF_T_FMT, 1,  Nimage);
 
   /* position to begining of file to write header */
@@ -152,5 +152,5 @@
   /* check that file size makes sense */
   Nimage = 0;
-  gfits_scan (header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
   if (fstat (fileno(f), &filestatus) == -1) {
     fprintf (stderr, "ERROR: failed to get status of image catalog\n");
@@ -161,5 +161,5 @@
     Ndata = (filestatus.st_size - header[0].datasize) / sizeof (Image);
     fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
-    fprintf (stderr, "header: %lld, data: %lld\n", (long long) Nimage, (long long) Ndata);
+    fprintf (stderr, "header: "OFF_T_FMT", data: "OFF_T_FMT"\n",  Nimage,  Ndata);
     Nimage = Ndata;
   } 
Index: trunk/Ohana/src/kapa2/src/LoadPicture.c
===================================================================
--- trunk/Ohana/src/kapa2/src/LoadPicture.c	(revision 28232)
+++ trunk/Ohana/src/kapa2/src/LoadPicture.c	(revision 28241)
@@ -32,5 +32,5 @@
   gfits_init_header (&header);
   header.Naxes = 2;
-  KiiScanMessage (sock, "%lld %lld", (long long *) &header.Naxis[0], (long long *) &header.Naxis[1]);
+  KiiScanMessage (sock, OFF_T_FMT" "OFF_T_FMT,  &header.Naxis[0],  &header.Naxis[1]);
 
   // internal image are 32 bit floats; sender must send in this format
@@ -41,5 +41,5 @@
 
   KiiScanMessage (sock, "%lf %lf %s %s",  &image[0].image[0].zero, &image[0].image[0].range, image[0].image[0].name, image[0].image[0].file);
-  KiiScanMessage (sock, "%lf %lf %lld", &image[0].image[0].min,  &image[0].image[0].max, (long long *) &header.datasize);
+  KiiScanMessage (sock, "%lf %lf "OFF_T_FMT, &image[0].image[0].min,  &image[0].image[0].max,  &header.datasize);
   KiiScanMessage (sock, "%lf %f %f %f %f", &image[0].image[0].coords.crval1, &image[0].image[0].coords.crpix1, &image[0].image[0].coords.cdelt1, &image[0].image[0].coords.pc1_1, &image[0].image[0].coords.pc1_2);
   KiiScanMessage (sock, "%lf %f %f %f %f", &image[0].image[0].coords.crval2, &image[0].image[0].coords.crpix2, &image[0].image[0].coords.cdelt2, &image[0].image[0].coords.pc2_1, &image[0].image[0].coords.pc2_2);
@@ -85,8 +85,8 @@
   fcntl (sock, F_SETFL, !O_NONBLOCK);  
 
-  if (DEBUG) fprintf (stderr, "read %lld bytes\n", (long long) image[0].image[0].matrix.datasize);
+  if (DEBUG) fprintf (stderr, "read "OFF_T_FMT" bytes\n",  image[0].image[0].matrix.datasize);
   /* it it not obvious this condition should kill kapa, but ... */
   if (image[0].image[0].matrix.datasize != header.datasize) {  
-    fprintf (stderr, "error: expected %lld bytes, but got only %lld\n", (long long) header.datasize, (long long) image[0].image[0].matrix.datasize);
+    fprintf (stderr, "error: expected "OFF_T_FMT" bytes, but got only "OFF_T_FMT"\n",  header.datasize,  image[0].image[0].matrix.datasize);
     return (FALSE);
   }
Index: trunk/Ohana/src/libautocode/def/autocode.c
===================================================================
--- trunk/Ohana/src/libautocode/def/autocode.c	(revision 28232)
+++ trunk/Ohana/src/libautocode/def/autocode.c	(revision 28241)
@@ -7,5 +7,5 @@
 
   if (size != $SIZE) { 
-    fprintf (stderr, "WARNING: mismatch in data types $STRUCT: %lld vs %lld\n", (long long) size, (long long) $SIZE);
+    fprintf (stderr, "WARNING: mismatch in data types $STRUCT: "OFF_T_FMT" vs %d\n",  size,  $SIZE);
     return (FALSE);
   }
@@ -32,5 +32,5 @@
 
   if ($SIZE > size) { 
-    fprintf (stderr, "ERROR: uncorrectable mismatch in data types $STRUCT: %lld vs %lld\n", (long long) size, (long long) $SIZE);
+    fprintf (stderr, "ERROR: uncorrectable mismatch in data types $STRUCT: "OFF_T_FMT" vs %d\n",  size,  $SIZE);
     exit (1);
   }
Index: trunk/Ohana/src/libautocode/def/common.h
===================================================================
--- trunk/Ohana/src/libautocode/def/common.h	(revision 28232)
+++ trunk/Ohana/src/libautocode/def/common.h	(revision 28241)
@@ -22,18 +22,8 @@
   tmp = byte[X+3]; byte[X+3] = byte[X+4]; byte[X+4] = tmp;
 
-# ifdef linux
-# define BYTE_SWAP
+# ifndef BYTE_SWAP
+# ifndef NOT_BYTE_SWAP
+# error "neither BYTE_SWAP not NOT_BYTE_SWAP is set"
 # endif
-
-# ifdef darwin_x86
-# define BYTE_SWAP
-# endif
-
-# ifdef sid
-# define BYTE_SWAP
-# endif
-
-# ifdef dec
-# define BYTE_SWAP
 # endif
 
Index: trunk/Ohana/src/libdvo/src/cmf-ps1-v1-alt.c
===================================================================
--- trunk/Ohana/src/libdvo/src/cmf-ps1-v1-alt.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/cmf-ps1-v1-alt.c	(revision 28241)
@@ -13,5 +13,5 @@
   // this function is a special case : it must have Nx = 136
   if (ftable[0].header[0].Naxis[0] != 136) { 
-    fprintf (stderr, "ERROR: wrong format for CMF_PS1_V1_Alt: %lld vs %d\n", (long long) ftable[0].header[0].Naxis[0], 136);
+    fprintf (stderr, "ERROR: wrong format for CMF_PS1_V1_Alt: "OFF_T_FMT" vs %d\n",  ftable[0].header[0].Naxis[0], 136);
     exit (2);
   }
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c	(revision 28241)
@@ -24,7 +24,7 @@
   }
   /* get the components from the header */
-  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%lld", 1, (long long *) &Naverage)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%lld", 1, (long long *) &Nmeasure)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "NMISS",    "%lld", 1, (long long *) &Nmissing)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  &Naverage)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  &Nmeasure)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  &Nmissing)) return (FALSE);
   if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d",   1,               &Nsecfilt)) Nsecfilt = 0;
 
@@ -73,5 +73,5 @@
     catalog[0].average = FtableToAverage (&ftable, &Naverage, &catalog[0].catformat, &primary);
     if (Naverage != catalog[0].Naves_disk) {
-      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%lld vs %lld)\n", (long long) Naverage, (long long) catalog[0].Naves_disk);
+      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Naverage,  catalog[0].Naves_disk);
     }
     catalog[0].Naverage = catalog[0].Naves_disk;
@@ -100,5 +100,5 @@
     catalog[0].measure = FtableToMeasure (&ftable, &catalog[0].Nmeasure, &catalog[0].catformat);
     if (Nmeasure != catalog[0].Nmeas_disk) {
-      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) catalog[0].Nmeas_disk);
+      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure,  catalog[0].Nmeas_disk);
     }
     catalog[0].Nmeasure = catalog[0].Nmeas_disk;
@@ -126,5 +126,5 @@
     catalog[0].missing = gfits_table_get_Missing (&ftable, &catalog[0].Nmissing, NULL);
     if (Nmissing != catalog[0].Nmiss_disk) {
-      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) catalog[0].Nmiss_disk);
+      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmissing,  catalog[0].Nmiss_disk);
     }
     catalog[0].Nmissing = catalog[0].Nmiss_disk;
@@ -154,5 +154,5 @@
     catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat);
     if (Nexpect != Nitems) {
-      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%lld vs %lld)\n", (long long) Nexpect, (long long) Nitems);
+      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nexpect,  Nitems);
     }
 
@@ -238,7 +238,7 @@
 
   /* make sure header is consistent with data */
-  gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) catalog[0].Naverage);
-  gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) catalog[0].Nmeasure);
-  gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  catalog[0].Nmeasure);
+  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  catalog[0].Nmissing);
   gfits_modify (&catalog[0].header, "NSECFILT", "%d",   1,                        Nsecfilt);
   gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 28241)
@@ -21,7 +21,7 @@
   /* get the components from the header */
   catalog[0].Naverage = catalog[0].Nmeasure = catalog[0].Nmissing = catalog[0].Nsecfilt = 0;
-  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%lld", 1, (long long *) &catalog[0].Naverage)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%lld", 1, (long long *) &catalog[0].Nmeasure)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "NMISS",    "%lld", 1, (long long *) &catalog[0].Nmissing)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  &catalog[0].Naverage)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  &catalog[0].Nmeasure)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  &catalog[0].Nmissing)) return (FALSE);
   if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d",   1,               &catalog[0].Nsecfilt)) catalog[0].Nsecfilt = 0;
 
@@ -113,9 +113,9 @@
     if (VERBOSE) {
       fprintf (stderr, "star catalog has inconsistent size\n");
-      fprintf (stderr, "average: %lld = %lld bytes\n", (long long) catalog[0].Naverage, (long long) catalog[0].Naverage*AverageSize);
-      fprintf (stderr, "measure: %lld = %lld bytes\n", (long long) catalog[0].Nmeasure, (long long) catalog[0].Nmeasure*MeasureSize);
-      fprintf (stderr, "missing: %lld = %lld bytes\n", (long long) catalog[0].Nmissing, (long long) catalog[0].Nmissing*MissingSize);
-      fprintf (stderr, "secfilt: %lld = %lld bytes\n", (long long) catalog[0].Nsecfilt, (long long) catalog[0].Nsecfilt*SecFiltSize*catalog[0].Naverage);
-      fprintf (stderr, "expect: %lld, found: %lld\n", (long long) size, (long long) filestatus.st_size);
+      fprintf (stderr, "average: "OFF_T_FMT" = "OFF_T_FMT" bytes\n",  catalog[0].Naverage,  catalog[0].Naverage*AverageSize);
+      fprintf (stderr, "measure: "OFF_T_FMT" = "OFF_T_FMT" bytes\n",  catalog[0].Nmeasure,  catalog[0].Nmeasure*MeasureSize);
+      fprintf (stderr, "missing: "OFF_T_FMT" = "OFF_T_FMT" bytes\n",  catalog[0].Nmissing,  catalog[0].Nmissing*MissingSize);
+      fprintf (stderr, "secfilt: %d = "OFF_T_FMT" bytes\n",  catalog[0].Nsecfilt,  catalog[0].Nsecfilt*SecFiltSize*catalog[0].Naverage);
+      fprintf (stderr, "expect: "OFF_T_FMT", found: "OFF_T_FMT"\n",  size,  filestatus.st_size);
     }
     return (FALSE);
@@ -155,5 +155,5 @@
     nitems = fread (catalog[0].missing, MissingSize, Nitems, f);
     if (nitems != Nitems) {
-      if (VERBOSE) fprintf (stderr, "failed to read missing from catalog file %s (%lld vs %lld)\n", catalog[0].filename, (long long) nitems, (long long) Nitems);
+      if (VERBOSE) fprintf (stderr, "failed to read missing from catalog file %s ("OFF_T_FMT" vs "OFF_T_FMT")\n", catalog[0].filename,  nitems,  Nitems);
       return (FALSE);
     }
@@ -198,10 +198,10 @@
   }
 
-  if (VERBOSE) fprintf (stderr, "read %lld stars from catalog file %s (%lld measurements, %lld missing, %lld secondary filters)\n", 
-			(long long) catalog[0].Naverage, 
+  if (VERBOSE) fprintf (stderr, "read "OFF_T_FMT" stars from catalog file %s ("OFF_T_FMT" measurements, "OFF_T_FMT" missing, %d secondary filters)\n", 
+			 catalog[0].Naverage, 
 			catalog[0].filename, 
-			(long long) catalog[0].Nmeasure, 
-			(long long) catalog[0].Nmissing, 
-			(long long) catalog[0].Nsecfilt);
+			 catalog[0].Nmeasure, 
+			 catalog[0].Nmissing, 
+			 catalog[0].Nsecfilt);
 
   /* check data integrity */
@@ -214,6 +214,6 @@
       if (VERBOSE) {
 	fprintf (stderr, "****** data in catalog %s is corrupt, sums don't check\n", catalog[0].filename);
-	fprintf (stderr, "****** Nmeas: %lld, %lld\n", (long long) Nmeas, (long long) catalog[0].Nmeasure);
-	fprintf (stderr, "****** Nmiss: %lld, %lld\n", (long long) Nmiss, (long long) catalog[0].Nmissing);
+	fprintf (stderr, "****** Nmeas: "OFF_T_FMT", "OFF_T_FMT"\n",  Nmeas,  catalog[0].Nmeasure);
+	fprintf (stderr, "****** Nmiss: "OFF_T_FMT", "OFF_T_FMT"\n",  Nmiss,  catalog[0].Nmissing);
       }
       return (FALSE);
@@ -264,8 +264,8 @@
 
   /* make sure header is consistent with data */
-  gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) catalog[0].Naverage);
-  gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) catalog[0].Nmeasure);
-  gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) catalog[0].Nmissing);
-  gfits_modify (&catalog[0].header, "NSECFILT", "%lld", 1, (long long) catalog[0].Nsecfilt);
+  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  catalog[0].Naverage);
+  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  catalog[0].Nmeasure);
+  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  catalog[0].Nmissing);
+  gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1,  catalog[0].Nsecfilt);
   gfits_modify (&catalog[0].header, "OBJID",    "%d", 1, catalog[0].objID);
 
@@ -353,5 +353,5 @@
       nitems = fread (tmpAverage, sizeof(Average_##TYPE), Naverage, f); \
       if (nitems != Naverage) { \
-	fprintf (stderr, "failed to read averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); \
+	fprintf (stderr, "failed to read averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Naverage); \
 	return (NULL); \
       } \
@@ -367,5 +367,5 @@
       nitems = fread (average, sizeof(Average), Naverage, f);
       if (nitems != Naverage) {
-	fprintf (stderr, "failed to read averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage);
+	fprintf (stderr, "failed to read averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Naverage);
 	return (NULL);
       }
@@ -406,5 +406,5 @@
       free (tmpAverage); \
       if (nitems != Naverage) { \
-	fprintf (stderr, "failed to write averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage); \
+	fprintf (stderr, "failed to write averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Naverage); \
 	return (FALSE); \
       } \
@@ -417,5 +417,5 @@
       nitems = fwrite (average, sizeof(Average), Naverage, f);
       if (nitems != Naverage) {
-	fprintf (stderr, "failed to write averages (%lld vs %lld)\n", (long long) nitems, (long long) Naverage);
+	fprintf (stderr, "failed to write averages ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Naverage);
 	return (FALSE);
       }
@@ -455,5 +455,5 @@
       nitems = fread (tmpMeasure, sizeof(Measure_##TYPE), Nmeasure, f); \
       if (nitems != Nmeasure) { \
-	fprintf (stderr, "failed to read measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); \
+	fprintf (stderr, "failed to read measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure); \
 	return (NULL); \
       } \
@@ -469,5 +469,5 @@
       nitems = fread (measure, sizeof(Measure), Nmeasure, f);
       if (nitems != Nmeasure) {
-	fprintf (stderr, "failed to read measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure);
+	fprintf (stderr, "failed to read measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure);
 	return (NULL);
       }
@@ -508,5 +508,5 @@
       free (tmpMeasure); \
       if (nitems != Nmeasure) { \
-	fprintf (stderr, "failed to write measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure); \
+	fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure); \
 	return (FALSE); \
       } \
@@ -519,5 +519,5 @@
       nitems = fwrite (measure, sizeof(Measure), Nmeasure, f);
       if (nitems != Nmeasure) {
-	fprintf (stderr, "failed to write measures (%lld vs %lld)\n", (long long) nitems, (long long) Nmeasure);
+	fprintf (stderr, "failed to write measures ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nmeasure);
 	return (FALSE);
       }
@@ -557,5 +557,5 @@
       nitems = fread (tmpSecFilt, sizeof(SecFilt_##TYPE), Nsecfilt, f); \
       if (nitems != Nsecfilt) { \
-	fprintf (stderr, "failed to read secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); \
+	fprintf (stderr, "failed to read secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nsecfilt); \
 	return (NULL); \
       } \
@@ -571,5 +571,5 @@
       nitems = fread (secfilt, sizeof(SecFilt), Nsecfilt, f);
       if (nitems != Nsecfilt) {
-	fprintf (stderr, "failed to read secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt);
+	fprintf (stderr, "failed to read secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nsecfilt);
 	return (NULL);
       }
@@ -610,5 +610,5 @@
       free (tmpSecFilt); \
       if (nitems != Nsecfilt) { \
-	fprintf (stderr, "failed to write secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt); \
+	fprintf (stderr, "failed to write secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nsecfilt); \
 	return (FALSE); \
       } \
@@ -621,5 +621,5 @@
       nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f);
       if (nitems != Nsecfilt) {
-	fprintf (stderr, "failed to write secfilts (%lld vs %lld)\n", (long long) nitems, (long long) Nsecfilt);
+	fprintf (stderr, "failed to write secfilts ("OFF_T_FMT" vs "OFF_T_FMT")\n",  nitems,  Nsecfilt);
 	return (FALSE);
       }
Index: trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 28241)
@@ -174,7 +174,7 @@
 
   /* get the components from the header - these duplicate information in the split files (NAXIS2) */
-  if (!gfits_scan (&catalog[0].header, "NSTARS",   "%lld", 1, (long long *) &Naverage)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "NMEAS",    "%lld", 1, (long long *) &Nmeasure)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "NMISS",    "%lld", 1, (long long *) &Nmissing)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  &Naverage)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  &Nmeasure)) return (FALSE);
+  if (!gfits_scan (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  &Nmissing)) return (FALSE);
   if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d",   1,               &Nsecfilt)) Nsecfilt = 0;
 
@@ -227,5 +227,5 @@
     catalog[0].average = FtableToAverage (&ftable, &Naverage, &catalog[0].catformat, &primary);
     if (Naverage != catalog[0].Naves_disk) {
-      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers (%lld vs %lld)\n", (long long) Naverage, (long long) catalog[0].Naves_disk);
+      fprintf (stderr, "Warning: mismatch between Naverage in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Naverage,  catalog[0].Naves_disk);
     }
     gfits_free_header (&header);
@@ -256,5 +256,5 @@
     catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat);
     if (Nmeasure != catalog[0].Nmeas_disk) {
-      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) catalog[0].Nmeas_disk);
+      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure,  catalog[0].Nmeas_disk);
     }
     catalog[0].Nmeasure = catalog[0].Nmeas_disk;
@@ -286,5 +286,5 @@
     catalog[0].missing = gfits_table_get_Missing (&ftable, &Nmissing, NULL);
     if (Nmissing != catalog[0].Nmiss_disk) {
-      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) catalog[0].Nmiss_disk);
+      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmissing,  catalog[0].Nmiss_disk);
     }
     catalog[0].Nmissing = catalog[0].Nmiss_disk;
@@ -315,5 +315,5 @@
     catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat);
     if (Nitems != catalog[0].Nsecf_disk) {
-      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%lld vs %lld)\n", (long long) Nitems, (long long) catalog[0].Nsecf_disk);
+      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nitems,  catalog[0].Nsecf_disk);
     }
     catalog[0].Nsecf_mem = catalog[0].Nsecf_disk;
@@ -408,5 +408,5 @@
     catalog[0].secfilt = FtableToSecFilt (&ftable, &Nitems, &catalog[0].catformat);
     if (Nitems != Nexpect) {
-      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers (%lld vs %lld)\n", (long long) Nitems, (long long) Nexpect);
+      fprintf (stderr, "Warning: mismatch between Nsecfilt items in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nitems,  Nexpect);
     }
     catalog[0].Nsecf_mem = catalog[0].Naverage * catalog[0].Nsecfilt;
@@ -444,5 +444,5 @@
     catalog[0].measure = FtableToMeasure (&ftable, &Nmeasure, &catalog[0].catformat);
     if (Nmeasure != Nrows) {
-      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers (%lld vs %lld)\n", (long long) Nmeasure, (long long) Nrows);
+      fprintf (stderr, "Warning: mismatch between Nmeasure in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmeasure,  Nrows);
     }
     gfits_free_header (&header);
@@ -474,5 +474,5 @@
     catalog[0].missing = gfits_table_get_Missing (&ftable, &Nmissing, NULL);
     if (Nmissing != Nrows) {
-      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers (%lld vs %lld)\n", (long long) Nmissing, (long long) Nrows);
+      fprintf (stderr, "Warning: mismatch between Nmissing in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nmissing,  Nrows);
     }
     gfits_free_header (&header);
@@ -524,7 +524,7 @@
 
   /* make sure header is consistent with data */
-  gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) Naves_disk_new);
-  gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) Nmeas_disk_new);
-  gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) Nmiss_disk_new);
+  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  Naves_disk_new);
+  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  Nmeas_disk_new);
+  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  Nmiss_disk_new);
   gfits_modify (&catalog[0].header, "NSECFILT", "%d",   1, Nsecfilt);
   gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
@@ -723,7 +723,7 @@
 
   /* make sure header is consistent with data */
-  gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) Naves_disk_new);
-  gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) Nmeas_disk_new);
-  gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) Nmiss_disk_new);
+  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  Naves_disk_new);
+  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  Nmeas_disk_new);
+  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  Nmiss_disk_new);
   gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt);
   gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
@@ -902,7 +902,7 @@
 
   /* make sure header is consistent with data */
-  gfits_modify (&catalog[0].header, "NSTARS",   "%lld", 1, (long long) Naves_disk_new);
-  gfits_modify (&catalog[0].header, "NMEAS",    "%lld", 1, (long long) Nmeas_disk_new);
-  gfits_modify (&catalog[0].header, "NMISS",    "%lld", 1, (long long) Nmiss_disk_new);
+  gfits_modify (&catalog[0].header, "NSTARS",   OFF_T_FMT, 1,  Naves_disk_new);
+  gfits_modify (&catalog[0].header, "NMEAS",    OFF_T_FMT, 1,  Nmeas_disk_new);
+  gfits_modify (&catalog[0].header, "NMISS",    OFF_T_FMT, 1,  Nmiss_disk_new);
   gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt);
   gfits_modify_alt (&catalog[0].header, "EXTEND",   "%t", 1, TRUE);
Index: trunk/Ohana/src/libdvo/src/dvo_convert.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/dvo_convert.c	(revision 28241)
@@ -267,5 +267,5 @@
     gfits_free_header (theader);
     gfits_table_mkheader_Image (theader);
-    gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage);
+    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage);
     theader[0].Naxis[1] = Nimage;
     ftable[0].datasize = gfits_data_size (theader);
@@ -288,5 +288,5 @@
     gfits_free_header (theader); \
     gfits_table_mkheader_Image (theader); \
-    gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); \
+    gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage); \
     theader[0].Naxis[1] = Nimage; \
     ftable[0].datasize = gfits_data_size (theader); \
@@ -373,8 +373,8 @@
       } \
       /* convert header from old format to new format */ \
-      gfits_scan (theader, "NAXIS2", "%lld", 1, (long long *) &Nimage); \
+      gfits_scan (theader, "NAXIS2", OFF_T_FMT, 1,  &Nimage); \
       gfits_free_header (theader); \
       gfits_table_mkheader_Image_##TYPE (theader); \
-      gfits_modify (theader, "NAXIS2", "%lld", 1, (long long) Nimage); \
+      gfits_modify (theader, "NAXIS2", OFF_T_FMT, 1,  Nimage); \
       theader[0].Naxis[1] = Nimage; \
       vtable[0].datasize = gfits_data_size (theader); \
Index: trunk/Ohana/src/libdvo/src/dvo_image.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_image.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/dvo_image.c	(revision 28241)
@@ -120,7 +120,7 @@
   /* adjust header */
   Nimages = 0;
-  gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimages);
+  gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nimages);
   Nimages += Nnew;
-  gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, (long long) Nimages);
+  gfits_modify (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  Nimages);
 
   gfits_table_to_vtable (&db[0].ftable, &db[0].vtable, 0, 0);
@@ -195,5 +195,5 @@
   gfits_table_set_Image (&db[0].ftable, NULL, 0);
 
-  gfits_modify (&db[0].header, "NIMAGES", "%lld", 1, 0LL);
+  gfits_modify (&db[0].header, "NIMAGES", "%d", 1, 0);
   gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPoint);
 
Index: trunk/Ohana/src/libdvo/src/dvo_image_raw.c
===================================================================
--- trunk/Ohana/src/libdvo/src/dvo_image_raw.c	(revision 28232)
+++ trunk/Ohana/src/libdvo/src/dvo_image_raw.c	(revision 28241)
@@ -39,5 +39,5 @@
   /* find number of images */
   Nimage = 0;
-  gfits_scan (&db[0].header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (&db[0].header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
   if (stat (db[0].filename, &filestatus) == -1) {
     if (VERBOSE) fprintf (stderr, "ERROR: failed to get status of image catalog\n");
@@ -64,5 +64,5 @@
     Ndata = (filestatus.st_size - db[0].header.datasize) / ImageSize;
     if (VERBOSE) fprintf (stderr, "ERROR: image catalog has inconsistent size\n");
-    if (VERBOSE) fprintf (stderr, "header: %lld, data: %lld\n", (long long) Nimage, (long long) Ndata);
+    if (VERBOSE) fprintf (stderr, "header: "OFF_T_FMT", data: "OFF_T_FMT"\n",  Nimage,  Ndata);
     if (!FORCE_READ) exit (1);
     Nimage = Ndata;
@@ -96,5 +96,5 @@
   } 
 
-  gfits_modify (&db[0].theader, "NAXIS2", "%lld", 1, (long long) Nimage);
+  gfits_modify (&db[0].theader, "NAXIS2", OFF_T_FMT, 1,  Nimage);
   db[0].theader.Naxis[1] = Nimage;
   db[0].ftable.datasize = gfits_data_size (&db[0].theader);
@@ -110,5 +110,5 @@
   off_t *row;
 
-  if (VERBOSE) fprintf (stderr, "writing out %lld images\n", (long long) db[0].vtable.Nrow);
+  if (VERBOSE) fprintf (stderr, "writing out "OFF_T_FMT" images\n",  db[0].vtable.Nrow);
 
   /* position to start of file */
@@ -125,6 +125,6 @@
   Nrow = db[0].vtable.Nrow;
   row = db[0].vtable.row;
-  gfits_scan (db[0].vtable.header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (db[0].vtable.header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (db[0].vtable.header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (db[0].vtable.header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
 
   /* file pointer is at beginning of desired table data */
@@ -146,5 +146,5 @@
   int status;
 
-  if (VERBOSE) fprintf (stderr, "writing out %lld images\n", (long long) db[0].theader.Naxis[1]);
+  if (VERBOSE) fprintf (stderr, "writing out "OFF_T_FMT" images\n",  db[0].theader.Naxis[1]);
 
   /* position to start of file */
@@ -158,6 +158,6 @@
   }
 
-  gfits_scan (db[0].ftable.header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (db[0].ftable.header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (db[0].ftable.header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (db[0].ftable.header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   size = Nx * Ny;
   Nbytes = fwrite (db[0].ftable.buffer, sizeof(char), size, db[0].f);
Index: trunk/Ohana/src/libfits/header/F_create_H.c
===================================================================
--- trunk/Ohana/src/libfits/header/F_create_H.c	(revision 28232)
+++ trunk/Ohana/src/libfits/header/F_create_H.c	(revision 28241)
@@ -23,5 +23,5 @@
   for (i = 0; i < header[0].Naxes; i++) {
     snprintf (axis, 10, "NAXIS%d", i + 1);
-    gfits_modify (header,  axis, "%lld", 1, (long long) header[0].Naxis[i]);
+    gfits_modify (header,  axis, OFF_T_FMT, 1,  header[0].Naxis[i]);
   }
 
Index: trunk/Ohana/src/libfits/header/F_modify.c
===================================================================
--- trunk/Ohana/src/libfits/header/F_modify.c	(revision 28232)
+++ trunk/Ohana/src/libfits/header/F_modify.c	(revision 28241)
@@ -53,5 +53,5 @@
   if (!strcmp (mode, "%d"))   snprintf (string, 81, "%-8s= %20d / %-s ",    field, va_arg (argp, int),       	      comment);
   if (!strcmp (mode, "%ld"))  snprintf (string, 81, "%-8s= %20ld / %-s ",   field, va_arg (argp, long),      	      comment);
-  if (!strcmp (mode, "%lld")) snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long), 	      comment);
+  if (!strcmp (mode, OFF_T_FMT)) snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long), 	      comment);
   if (!strcmp (mode, "%Ld"))  snprintf (string, 81, "%-8s= %20lld / %-s ",  field, va_arg (argp, long long), 	      comment);
   if (!strcmp (mode, "%u"))   snprintf (string, 81, "%-8s= %20u / %-s ",    field, va_arg (argp, unsigned),  	      comment);
@@ -67,4 +67,6 @@
   if (!strcmp (mode, "%lg"))  snprintf (string, 81, "%-8s= %20.10G / %-s ", field, va_arg (argp, double),   	      comment); 
 
+  if (!strcmp (mode, "%jd"))  snprintf (string, 81, "%-8s= %20jd / %-s ",   field, va_arg (argp, intmax_t), 	      comment);
+
   /* string value.  Quotes must be at least 18 chars apart */
   if (!strcmp (mode, "%s")) {
Index: trunk/Ohana/src/libfits/header/F_print.c
===================================================================
--- trunk/Ohana/src/libfits/header/F_print.c	(revision 28232)
+++ trunk/Ohana/src/libfits/header/F_print.c	(revision 28241)
@@ -48,5 +48,5 @@
   if (!strcmp (mode, "%d"))  { snprintf (string, 81, "%-8s= %20d / %46s ",    field, va_arg (argp, int),                blank); }
   if (!strcmp (mode, "%ld")) { snprintf (string, 81, "%-8s= %20ld / %46s ",   field, va_arg (argp, long),               blank); }
-  if (!strcmp (mode, "%lld")){ snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); }
+  if (!strcmp (mode, OFF_T_FMT)){ snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); }
   if (!strcmp (mode, "%Ld")) { snprintf (string, 81, "%-8s= %20lld / %46s ",  field, va_arg (argp, long long),          blank); }
   if (!strcmp (mode, "%u"))  { snprintf (string, 81, "%-8s= %20u / %46s ",    field, va_arg (argp, unsigned),           blank); }
@@ -61,4 +61,6 @@
   if (!strcmp (mode, "%g"))  { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double),             blank); }
   if (!strcmp (mode, "%lg")) { snprintf (string, 81, "%-8s= %20.10G / %46s ", field, va_arg (argp, double),             blank); }
+
+  if (!strcmp (mode, "%jd")) { snprintf (string, 81, "%-8s= %20jd / %46s ",   field, va_arg (argp, intmax_t),           blank); }
 
   /* string value.  Quotes must be at least 18 chars apart.  Longer lines will this should be fixed to allow arbitrary string lengths, up to 69 chars */
Index: trunk/Ohana/src/libfits/header/F_read_H.c
===================================================================
--- trunk/Ohana/src/libfits/header/F_read_H.c	(revision 28232)
+++ trunk/Ohana/src/libfits/header/F_read_H.c	(revision 28241)
@@ -69,14 +69,14 @@
   gfits_scan (header,  "BZERO",  "%lf",  1, &header[0].bzero);
 				       
-  gfits_scan (header,  "NAXIS1", "%lld", 1, (long long *) &header[0].Naxis[0]);
-  gfits_scan (header,  "NAXIS2", "%lld", 1, (long long *) &header[0].Naxis[1]);
-  gfits_scan (header,  "NAXIS3", "%lld", 1, (long long *) &header[0].Naxis[2]);
-  gfits_scan (header,  "NAXIS4", "%lld", 1, (long long *) &header[0].Naxis[3]);
-  gfits_scan (header,  "NAXIS5", "%lld", 1, (long long *) &header[0].Naxis[4]);
-  gfits_scan (header,  "NAXIS6", "%lld", 1, (long long *) &header[0].Naxis[5]);
-  gfits_scan (header,  "NAXIS7", "%lld", 1, (long long *) &header[0].Naxis[6]);
-  gfits_scan (header,  "NAXIS8", "%lld", 1, (long long *) &header[0].Naxis[7]);
-  gfits_scan (header,  "NAXIS9", "%lld", 1, (long long *) &header[0].Naxis[8]);
-  gfits_scan (header, "NAXIS10", "%lld", 1, (long long *) &header[0].Naxis[9]);
+  gfits_scan (header,  "NAXIS1", OFF_T_FMT, 1,  &header[0].Naxis[0]);
+  gfits_scan (header,  "NAXIS2", OFF_T_FMT, 1,  &header[0].Naxis[1]);
+  gfits_scan (header,  "NAXIS3", OFF_T_FMT, 1,  &header[0].Naxis[2]);
+  gfits_scan (header,  "NAXIS4", OFF_T_FMT, 1,  &header[0].Naxis[3]);
+  gfits_scan (header,  "NAXIS5", OFF_T_FMT, 1,  &header[0].Naxis[4]);
+  gfits_scan (header,  "NAXIS6", OFF_T_FMT, 1,  &header[0].Naxis[5]);
+  gfits_scan (header,  "NAXIS7", OFF_T_FMT, 1,  &header[0].Naxis[6]);
+  gfits_scan (header,  "NAXIS8", OFF_T_FMT, 1,  &header[0].Naxis[7]);
+  gfits_scan (header,  "NAXIS9", OFF_T_FMT, 1,  &header[0].Naxis[8]);
+  gfits_scan (header, "NAXIS10", OFF_T_FMT, 1,  &header[0].Naxis[9]);
 
   if (!gfits_scan (header, "PCOUNT",  "%d", 1, &header[0].pcount)) {
Index: trunk/Ohana/src/libfits/header/F_scan.c
===================================================================
--- trunk/Ohana/src/libfits/header/F_scan.c	(revision 28232)
+++ trunk/Ohana/src/libfits/header/F_scan.c	(revision 28241)
@@ -76,5 +76,5 @@
   if (!strcmp (mode, "%d"))   { *va_arg (argp, int *)       	     = value; return (TRUE); }
   if (!strcmp (mode, "%ld"))  { *va_arg (argp, long *)      	     = value; return (TRUE); }
-  if (!strcmp (mode, "%lld")) { *va_arg (argp, long long *) 	     = value; return (TRUE); }
+  if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, long long *) 	     = value; return (TRUE); }
   if (!strcmp (mode, "%Ld"))  { *va_arg (argp, long long *) 	     = value; return (TRUE); }
   if (!strcmp (mode, "%u"))   { *va_arg (argp, unsigned *)  	     = value; return (TRUE); }
@@ -84,4 +84,7 @@
   if (!strcmp (mode, "%hd"))  { *va_arg (argp, short *)     	     = value; return (TRUE); }
 
+  // XXX is this safe for 64bit off_t and 32bit off_t?
+  if (!strcmp (mode, "%jd"))  { *va_arg (argp, intmax_t *) 	     = value; return (TRUE); }
+
   /* no valid mode found */
   return (FALSE);
@@ -219,5 +222,5 @@
   if (!strcmp (mode, "%d"))   { *va_arg (argp, int *)       	     = value; return (TRUE); }
   if (!strcmp (mode, "%ld"))  { *va_arg (argp, long *)      	     = value; return (TRUE); }
-  if (!strcmp (mode, "%lld")) { *va_arg (argp, long long *) 	     = value; return (TRUE); }
+  if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, long long *) 	     = value; return (TRUE); }
   if (!strcmp (mode, "%Ld"))  { *va_arg (argp, long long *) 	     = value; return (TRUE); }
   if (!strcmp (mode, "%u"))   { *va_arg (argp, unsigned *)  	     = value; return (TRUE); }
Index: trunk/Ohana/src/libfits/include/gfitsio.h
===================================================================
--- trunk/Ohana/src/libfits/include/gfitsio.h	(revision 28232)
+++ trunk/Ohana/src/libfits/include/gfitsio.h	(revision 28241)
@@ -7,23 +7,9 @@
 # define GFITSIO
 
-/* also defined in libautocode/def/common.h */
-/* what about lin64 ?? - 'linux' might be defined automatically by linux */
 # ifndef BYTE_SWAP
-# ifdef linux
-# define BYTE_SWAP
+# ifndef NOT_BYTE_SWAP
+# error "neither BYTE_SWAP not NOT_BYTE_SWAP is set"
 # endif
-
-# ifdef sid
-# define BYTE_SWAP
 # endif
-
-# ifdef darwin_x86
-# define BYTE_SWAP
-# endif
-
-# ifdef dec
-# define BYTE_SWAP
-# endif
-# endif /* BYTE_SWAP */
 
 # ifndef NEWLINE
Index: trunk/Ohana/src/libfits/matrix/F_add_M.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_add_M.c	(revision 28232)
+++ trunk/Ohana/src/libfits/matrix/F_add_M.c	(revision 28241)
@@ -13,11 +13,11 @@
   if ((x + array[0].Naxis[0] > matrix[0].Naxis[0]) ||
       (y + array[0].Naxis[1] > matrix[0].Naxis[1])) {
-    fprintf (stderr, "can't add array here: (%lld,%lld) - (%lld,%lld) vs (%lld,%lld)\n",
-	     (long long) x, 
-	     (long long) y, 
-	     (long long) x + array[0].Naxis[0], 
-	     (long long) y + array[0].Naxis[1],
-	     (long long) matrix[0].Naxis[0], 
-	     (long long) matrix[0].Naxis[1]);
+    fprintf (stderr, "can't add array here: ("OFF_T_FMT","OFF_T_FMT") - ("OFF_T_FMT","OFF_T_FMT") vs ("OFF_T_FMT","OFF_T_FMT")\n",
+	      x, 
+	      y, 
+	      x + array[0].Naxis[0], 
+	      y + array[0].Naxis[1],
+	      matrix[0].Naxis[0], 
+	      matrix[0].Naxis[1]);
     return;
   }
Index: trunk/Ohana/src/libfits/matrix/F_compress_M.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_compress_M.c	(revision 28232)
+++ trunk/Ohana/src/libfits/matrix/F_compress_M.c	(revision 28241)
@@ -77,5 +77,5 @@
     snprintf (zaxis, 10, "ZNAXIS%d", i + 1);
     snprintf (naxis, 10, "NAXIS%d", i + 1);
-    MOD_KEYWORD_REQUIRED (zaxis,  naxis,  "%lld", (long long *) &header->Naxis[i], (long long) header->Naxis[i]);
+    MOD_KEYWORD_REQUIRED (zaxis,  naxis,  OFF_T_FMT,  &header->Naxis[i],  header->Naxis[i]);
   }    
 
@@ -203,7 +203,7 @@
   if (!gfits_varlength_column_define (ftable, &zdef, zcol)) ESCAPE;
   gfits_delete (header, "TFIELDS", 1);
-  snprintf (key, 10, "TTYPE%lld", (long long) zcol);
+  snprintf (key, 10, "TTYPE"OFF_T_FMT,  zcol);
   gfits_delete (header, key, 1);
-  snprintf (key, 10, "TFORM%lld", (long long) zcol);
+  snprintf (key, 10, "TFORM"OFF_T_FMT,  zcol);
   gfits_delete (header, key, 1);
 
Index: trunk/Ohana/src/libfits/matrix/F_insert_M.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_insert_M.c	(revision 28232)
+++ trunk/Ohana/src/libfits/matrix/F_insert_M.c	(revision 28241)
@@ -12,11 +12,11 @@
   if ((x + array[0].Naxis[0] > matrix[0].Naxis[0]) ||
       (y + array[0].Naxis[1] > matrix[0].Naxis[1])) {
-    fprintf (stderr, "can't insert array here: (%lld,%lld) - (%lld,%lld) vs (%lld,%lld)\n",
-	     (long long) x, 
-	     (long long) y, 
-	     (long long) x + array[0].Naxis[0], 
-	     (long long) y + array[0].Naxis[1],
-	     (long long) matrix[0].Naxis[0], 
-	     (long long) matrix[0].Naxis[1]);
+    fprintf (stderr, "can't insert array here: ("OFF_T_FMT","OFF_T_FMT") - ("OFF_T_FMT","OFF_T_FMT") vs ("OFF_T_FMT","OFF_T_FMT")\n",
+	      x, 
+	      y, 
+	      x + array[0].Naxis[0], 
+	      y + array[0].Naxis[1],
+	      matrix[0].Naxis[0], 
+	      matrix[0].Naxis[1]);
     return;
   }
Index: trunk/Ohana/src/libfits/matrix/F_load_M.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_load_M.c	(revision 28232)
+++ trunk/Ohana/src/libfits/matrix/F_load_M.c	(revision 28241)
@@ -95,5 +95,5 @@
   }
   if (nbytes != Nbytes) {  /* this is a FITS error, but often the image is OK */
-    fprintf (stderr, "incomplete block in FITS file: (%lld, %lld)\n", (long long) nbytes, (long long) Nbytes);
+    fprintf (stderr, "incomplete block in FITS file: ("OFF_T_FMT", "OFF_T_FMT")\n",  nbytes,  Nbytes);
     return (TRUE); 
   }
Index: trunk/Ohana/src/libfits/matrix/F_read_portion.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_read_portion.c	(revision 28232)
+++ trunk/Ohana/src/libfits/matrix/F_read_portion.c	(revision 28241)
@@ -108,9 +108,9 @@
 
   if (nbytes < Nbytes - 2880) {  /* this is a bad FITS error: image is not OK */
-    fprintf (stderr, "error reading in matrix data from FITS file %s (%lld < %lld - 2880)\n", filename, (long long) nbytes, (long long) Nbytes);
+    fprintf (stderr, "error reading in matrix data from FITS file %s ("OFF_T_FMT" < "OFF_T_FMT" - 2880)\n", filename,  nbytes,  Nbytes);
     return (FALSE);
   }
   if (nbytes != Nbytes) {  /* this is a FITS error, but often the image is OK */
-    fprintf (stderr, "incomplete block in %s: (%lld, %lld)\n", filename, (long long) nbytes, (long long) Nbytes);
+    fprintf (stderr, "incomplete block in %s: ("OFF_T_FMT", "OFF_T_FMT")\n", filename,  nbytes,  Nbytes);
     return (TRUE); 
   }
Index: trunk/Ohana/src/libfits/matrix/F_read_segment.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_read_segment.c	(revision 28232)
+++ trunk/Ohana/src/libfits/matrix/F_read_segment.c	(revision 28241)
@@ -148,9 +148,9 @@
 
   if (nbytes < Nbytes - 2880) {  /* this is a bad FITS error: image is not OK */
-    fprintf (stderr, "error reading in matrix data from FITS file (%lld < %lld - 2880)\n", (long long) nbytes, (long long) Nbytes);
+    fprintf (stderr, "error reading in matrix data from FITS file ("OFF_T_FMT" < "OFF_T_FMT" - 2880)\n",  nbytes,  Nbytes);
     return (FALSE);
   }
   if (nbytes != Nbytes) {  /* this is a FITS error, but often the image is OK */
-    fprintf (stderr, "incomplete block in FITS file: (%lld, %lld)\n", (long long) nbytes, (long long) Nbytes);
+    fprintf (stderr, "incomplete block in FITS file: ("OFF_T_FMT", "OFF_T_FMT")\n",  nbytes,  Nbytes);
     return (TRUE); 
   }
Index: trunk/Ohana/src/libfits/table/F_create_TH.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_create_TH.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_create_TH.c	(revision 28241)
@@ -27,5 +27,5 @@
   for (i = 0; i < header[0].Naxes; i++) {
     sprintf (axis, "NAXIS%d", i + 1);
-    gfits_modify (header,  axis, "%lld", 1, (long long) header[0].Naxis[i]);
+    gfits_modify (header,  axis, OFF_T_FMT, 1,  header[0].Naxis[i]);
   }
   
Index: trunk/Ohana/src/libfits/table/F_define_column.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_define_column.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_define_column.c	(revision 28241)
@@ -13,5 +13,5 @@
   Nfields = 0;
   gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Naxis1);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Naxis1);
   Nfields ++;
   Naxis1 += Nbytes*Nval;
@@ -35,5 +35,5 @@
   /* update TFIELDS & NAXIS1 */
   gfits_modify (header, "TFIELDS", "%d", 1, Nfields);
-  gfits_modify (header, "NAXIS1",  "%lld", 1, (long long) Naxis1);
+  gfits_modify (header, "NAXIS1",  OFF_T_FMT, 1,  Naxis1);
   header[0].Naxis[0] = Naxis1;
 
@@ -53,5 +53,5 @@
   Nfields = 0;
   gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Naxis1);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Naxis1);
   Nstart = Naxis1 + 1;
   Nfields ++;
@@ -70,5 +70,5 @@
 
   gfits_modify (header, "TFIELDS", "%d", 1, Nfields);
-  gfits_modify (header, "NAXIS1",  "%lld", 1, (long long) Naxis1);
+  gfits_modify (header, "NAXIS1",  OFF_T_FMT, 1,  Naxis1);
   header[0].Naxis[0] = Naxis1;
 
Index: trunk/Ohana/src/libfits/table/F_get_column.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_get_column.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_get_column.c	(revision 28241)
@@ -51,6 +51,6 @@
   
   /* check existing table dimensions */
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
 
   /* scan columns to find insert point */
@@ -187,6 +187,6 @@
   
   /* check existing table dimensions */
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
 
   /* scan columns to find insert point */
@@ -336,6 +336,6 @@
   
   /* check existing table dimensions */
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
 
   /* scan columns to find insert point */
Index: trunk/Ohana/src/libfits/table/F_read_T.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_read_T.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_read_T.c	(revision 28241)
@@ -64,5 +64,5 @@
     perror (string);
     if (Nread < gfits_data_min_size (table[0].header)) {
-      fprintf (stderr, "error: fits read error in %s, read %lld, need %lld\n", __func__, (long long) Nread, (long long) gfits_data_min_size (table[0].header));
+      fprintf (stderr, "error: fits read error in %s, read "OFF_T_FMT", need "OFF_T_FMT"\n", __func__,  Nread,  gfits_data_min_size (table[0].header));
       gfits_free_table  (table);
       return (FALSE);
@@ -109,5 +109,5 @@
   /* modify structure and header to match actual read rows Ny */
   table[0].header[0].Naxis[1] = Nrows;
-  gfits_modify (table[0].header, "NAXIS2",  "%lld", 1, (long long) Nrows);
+  gfits_modify (table[0].header, "NAXIS2",  OFF_T_FMT, 1,  Nrows);
   table[0].datasize = gfits_data_size (table[0].header);
 
@@ -185,6 +185,8 @@
     /* file pointer is at beginning of desired table data */
     start = ftello (f);
-    gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-    gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+
+    gfits_scan (header, "NAXIS1", OFF_T_FMT, 1, &Nx);
+    gfits_scan (header, "NAXIS2", OFF_T_FMT, 1, &Ny);
+
     for (i = 0; i < Nrow; i++) {
       if (row[i] > Ny) { return (FALSE); }
Index: trunk/Ohana/src/libfits/table/F_read_TH.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_read_TH.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_read_TH.c	(revision 28241)
@@ -70,14 +70,14 @@
   if (!status) return (FALSE);
 				                           
-  gfits_scan (Theader,  "NAXIS1", "%lld", 1, (long long *) &Theader[0].Naxis[0]);
-  gfits_scan (Theader,  "NAXIS2", "%lld", 1, (long long *) &Theader[0].Naxis[1]);
-  gfits_scan (Theader,  "NAXIS3", "%lld", 1, (long long *) &Theader[0].Naxis[2]);
-  gfits_scan (Theader,  "NAXIS4", "%lld", 1, (long long *) &Theader[0].Naxis[3]);
-  gfits_scan (Theader,  "NAXIS5", "%lld", 1, (long long *) &Theader[0].Naxis[4]);
-  gfits_scan (Theader,  "NAXIS6", "%lld", 1, (long long *) &Theader[0].Naxis[5]);
-  gfits_scan (Theader,  "NAXIS7", "%lld", 1, (long long *) &Theader[0].Naxis[6]);
-  gfits_scan (Theader,  "NAXIS8", "%lld", 1, (long long *) &Theader[0].Naxis[7]);
-  gfits_scan (Theader,  "NAXIS9", "%lld", 1, (long long *) &Theader[0].Naxis[8]);
-  gfits_scan (Theader, "NAXIS10", "%lld", 1, (long long *) &Theader[0].Naxis[9]);
+  gfits_scan (Theader,  "NAXIS1", OFF_T_FMT, 1,  &Theader[0].Naxis[0]);
+  gfits_scan (Theader,  "NAXIS2", OFF_T_FMT, 1,  &Theader[0].Naxis[1]);
+  gfits_scan (Theader,  "NAXIS3", OFF_T_FMT, 1,  &Theader[0].Naxis[2]);
+  gfits_scan (Theader,  "NAXIS4", OFF_T_FMT, 1,  &Theader[0].Naxis[3]);
+  gfits_scan (Theader,  "NAXIS5", OFF_T_FMT, 1,  &Theader[0].Naxis[4]);
+  gfits_scan (Theader,  "NAXIS6", OFF_T_FMT, 1,  &Theader[0].Naxis[5]);
+  gfits_scan (Theader,  "NAXIS7", OFF_T_FMT, 1,  &Theader[0].Naxis[6]);
+  gfits_scan (Theader,  "NAXIS8", OFF_T_FMT, 1,  &Theader[0].Naxis[7]);
+  gfits_scan (Theader,  "NAXIS9", OFF_T_FMT, 1,  &Theader[0].Naxis[8]);
+  gfits_scan (Theader, "NAXIS10", OFF_T_FMT, 1,  &Theader[0].Naxis[9]);
 
   return (TRUE);
Index: trunk/Ohana/src/libfits/table/F_set_column.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_set_column.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_set_column.c	(revision 28241)
@@ -49,10 +49,10 @@
   
   /* check existing table dimensions */
-  gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   if (Ny == 0) { 
     Ny = Nrow;
     header[0].Naxis[1] = Ny;
-    gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
+    gfits_modify (header, "NAXIS2", OFF_T_FMT, 1,  Ny);
 
     nbytes = gfits_data_size (header);
@@ -181,10 +181,10 @@
   
   /* check existing table dimensions */
-  gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   if (Ny == 0) { 
     Ny = Nrow;
     header[0].Naxis[1] = Ny;
-    gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
+    gfits_modify (header, "NAXIS2", OFF_T_FMT, 1,  Ny);
 
     nbytes = gfits_data_size (header);
Index: trunk/Ohana/src/libfits/table/F_table_format.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_table_format.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_table_format.c	(revision 28241)
@@ -130,6 +130,6 @@
   off_t i, Nx, Ny;
 
-  gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (ftable[0].header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (ftable[0].header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   
   if (start + Nkeep > Ny) return (FALSE);
@@ -158,6 +158,6 @@
   off_t i, N, Nx, Ny;
 
-  gfits_scan (ftable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (ftable[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (ftable[0].header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (ftable[0].header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
 
   /* make empty vtable from table */
@@ -191,5 +191,5 @@
   va_start (argp, table);
 
-  gfits_scan (table[0].header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
+  gfits_scan (table[0].header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
   gfits_scan (table[0].header, "TFIELDS", "%d", 1, &Nfields);
 
@@ -236,6 +236,6 @@
   off = 0;
 
-  gfits_scan (ftable[0].header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (ftable[0].header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (ftable[0].header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (ftable[0].header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
   gfits_scan (ftable[0].header, "TFIELDS", "%d", 1, &Nfields);
 
@@ -320,6 +320,6 @@
   off = 0;
 
-  gfits_scan (ftable[0].header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (ftable[0].header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (ftable[0].header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (ftable[0].header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
   gfits_scan (ftable[0].header, "TFIELDS", "%d", 1, &Nfields);
 
Index: trunk/Ohana/src/libfits/table/F_table_row.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_table_row.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_table_row.c	(revision 28241)
@@ -11,6 +11,6 @@
   header = table[0].header;
 
-  gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   
   if (header[0].Naxis[1] != Ny) return (FALSE);
@@ -23,5 +23,5 @@
   Ny += Nrow;
   header[0].Naxis[1] = Ny;
-  gfits_modify (header, "NAXIS2",  "%lld", 1, (long long) Ny);
+  gfits_modify (header, "NAXIS2",  OFF_T_FMT, 1,  Ny);
 
   nbytes = gfits_data_size (header);
@@ -43,6 +43,6 @@
   header = table[0].header;
 
-  gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   
   if (header[0].Naxis[1] != Ny) return (FALSE);
@@ -64,5 +64,5 @@
   Ny += Nrow;
   header[0].Naxis[1] = Ny;
-  gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
+  gfits_modify (header, "NAXIS2", OFF_T_FMT, 1,  Ny);
 
   table[0].datasize = gfits_data_size (table[0].header);
@@ -81,6 +81,6 @@
   header = table[0].header;
 
-  gfits_scan (header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
   
   if (header[0].Naxis[1] != Ny) return (FALSE);
@@ -97,5 +97,5 @@
   Ny -= Nrow;
   header[0].Naxis[1] = Ny;
-  gfits_modify (header, "NAXIS2", "%lld", 1, (long long) Ny);
+  gfits_modify (header, "NAXIS2", OFF_T_FMT, 1,  Ny);
 
   nbytes = gfits_data_size (header);
Index: trunk/Ohana/src/libfits/table/F_table_varlength.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_table_varlength.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_table_varlength.c	(revision 28241)
@@ -64,5 +64,5 @@
 
   // heap_start must be long long so file may be very large
-  if (!gfits_scan (ftable->header, "THEAP", "%lld", 1, (long long *) &def->heap_start)) {
+  if (!gfits_scan (ftable->header, "THEAP", OFF_T_FMT, 1,  &def->heap_start)) {
     def->heap_start = ftable->header->Naxis[0]*ftable->header->Naxis[1];
   }
Index: trunk/Ohana/src/libfits/table/F_write_T.c
===================================================================
--- trunk/Ohana/src/libfits/table/F_write_T.c	(revision 28232)
+++ trunk/Ohana/src/libfits/table/F_write_T.c	(revision 28241)
@@ -40,6 +40,6 @@
   Nrow = table[0].Nrow;
   row = table[0].row;
-  gfits_scan (table[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
-  gfits_scan (table[0].header, "NAXIS2", "%lld", 1, (long long *) &Ny);
+  gfits_scan (table[0].header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
+  gfits_scan (table[0].header, "NAXIS2", OFF_T_FMT, 1,  &Ny);
 
   /* file pointer is at beginning of desired table data */
@@ -79,5 +79,5 @@
   
   /* modify vtable to represent full disk table */
-  gfits_modify (ftable[0].header, "NAXIS2", "%lld", 1, (long long) Ntotal);
+  gfits_modify (ftable[0].header, "NAXIS2", OFF_T_FMT, 1,  Ntotal);
   ftable[0].header[0].Naxis[1] = Ntotal;
 
Index: trunk/Ohana/src/libohana/Makefile
===================================================================
--- trunk/Ohana/src/libohana/Makefile	(revision 28232)
+++ trunk/Ohana/src/libohana/Makefile	(revision 28241)
@@ -1,5 +1,5 @@
 default: install
 help:
-	@echo "make options: install libohana clean dist"
+	@echo "make options: install libohana clean dist test typetest"
 
 include ../../Makefile.System
@@ -19,5 +19,5 @@
 TFLAGS        = $(FULL_CFLAGS) $(FULL_CPPFLAGS) $(FULL_LDFLAGS) -lohana -ltap_ohana
 
-install: $(DESTLIB)/libohana.a $(DESTLIB)/libohana.$(DLLTYPE)
+install: $(DESTLIB)/libohana.a $(DESTLIB)/libohana.$(DLLTYPE) typetest
 libohana: $(LIB)/libohana.$(ARCH).a $(LIB)/libohana.$(ARCH).$(DLLTYPE)
 
@@ -40,4 +40,12 @@
 $(SRC)/CommOps.$(ARCH).o	 \
 $(SRC)/version.$(ARCH).o
+
+TYPETEST = \
+$(TESTDIR)/typetest.$(ARCH)
+
+$(TYPETEST) : $(LIB)/libohana.$(ARCH).a
+
+typetest: $(TYPETEST)
+	for i in $(TYPETEST); do $$i || exit 1; done
 
 TEST = \
Index: trunk/Ohana/src/libohana/include/ohana.h
===================================================================
--- trunk/Ohana/src/libohana/include/ohana.h	(revision 28232)
+++ trunk/Ohana/src/libohana/include/ohana.h	(revision 28241)
@@ -94,4 +94,31 @@
 };
 
+/* note: in the Ohana tree, the byte order is determined by the ARCH variable
+   if you have a small endian machine that is not listed here, the test
+   program 'typestest' should fail */
+# ifndef BYTE_SWAP
+# ifdef linux
+# define BYTE_SWAP
+# endif
+
+# ifdef lin64
+# define BYTE_SWAP
+# endif
+
+# ifdef sid
+# define BYTE_SWAP
+# endif
+
+# ifdef darwin_x86
+# define BYTE_SWAP
+# endif
+
+# ifdef dec
+# define BYTE_SWAP
+# endif
+# else
+# define NOT_BYTE_SWAP
+# endif /* BYTE_SWAP */
+
 # ifndef NAN
 # ifndef BYTE_SWAP
@@ -103,4 +130,19 @@
     __attribute_used__ = { __nan_bytes };
 # define NAN    (__nan_union.__d)
+# endif
+
+/* if your build crashes on OFF_T_MODE, you probably need to add your 64bit hardware to this list */
+# ifdef _LARGEFILE_SOURCE
+# define OFF_T_FMT "%jd"
+# endif
+# ifdef lin64
+# define OFF_T_FMT "%jd"
+# endif
+# ifndef OFF_T_FMT
+# define OFF_T_FMT "%ld"
+# endif
+
+# ifndef isfinite
+# define isfinite(A) (!isnan(A))
 # endif
 
Index: trunk/Ohana/src/libohana/test/typetest.c
===================================================================
--- trunk/Ohana/src/libohana/test/typetest.c	(revision 28241)
+++ trunk/Ohana/src/libohana/test/typetest.c	(revision 28241)
@@ -0,0 +1,73 @@
+# include "ohana.h"
+
+enum
+{
+    OHANA_LITTLE_ENDIAN = 0x03020100ul,
+    OHANA_BIG_ENDIAN    = 0x00010203ul,
+};
+
+static const union { 
+    unsigned char bytes[4]; 
+    int value; 
+} ohana_host_order = { { 0, 1, 2, 3 } };
+
+# define OHANA_HOST_ORDER (ohana_host_order.value)
+
+// we need to verify some type-related issues:
+int main (int argc, char **argv) {
+
+    int status;
+
+    status = 0;
+
+    // 1) have we defined BYTE_SWAP correctly?
+
+# ifdef BYTE_SWAP
+    if (OHANA_HOST_ORDER == OHANA_BIG_ENDIAN) {
+	fprintf (stderr, "ERROR: BYTE_SWAP is defined on a big endian machine\n");
+	fprintf (stderr, "(see libohana/include/ohana.h)\n");
+	status = 1;
+    } else {
+	fprintf (stderr, "BYTE_SWAP is small endian\n");
+    }	
+# else
+    if (OHANA_HOST_ORDER == OHANA_BIG_ENDIAN) {
+	fprintf (stderr, "NOT_BYTE_SWAP is big endian\n");
+    } else {
+	fprintf (stderr, "ERROR: BYTE_SWAP not defined on a small endian machine\n");
+	fprintf (stderr, "(see libohana/include/ohana.h)\n");
+	status = 1;
+    }	
+# endif 
+
+    // 2) have we defined NAN correctly?
+    {
+	float fvalue;
+	double dvalue;
+    
+	fvalue = NAN;
+	dvalue = NAN;
+
+	if (isfinite(fvalue)) {
+	    fprintf (stderr, "ERROR: NAN definition fails for float\n");
+	    fprintf (stderr, "fvalue: %e\n", fvalue);
+	    status = 1;
+	}
+	if (isfinite(dvalue)) {
+	    fprintf (stderr, "ERROR: NAN definition fails for double\n");
+	    fprintf (stderr, "dvalue: %e\n", dvalue);
+	    status = 1;
+	}
+
+	fprintf (stderr, "fvalue: %e (isfinite: %d)\n", fvalue, isfinite(fvalue));
+	fprintf (stderr, "dvalue: %e (isfinite: %d)\n", dvalue, isfinite(dvalue));
+
+# ifdef __STDC_VERSION__
+	fprintf (stderr, "STDC_VERSION: %ld\n", __STDC_VERSION__);
+# else
+	fprintf (stderr, "STDC_VERSION is not set\n");
+# endif
+
+    }
+    exit (status);
+}
Index: trunk/Ohana/src/opihi/cmd.data/extract.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/extract.c	(revision 28232)
+++ trunk/Ohana/src/opihi/cmd.data/extract.c	(revision 28241)
@@ -70,6 +70,6 @@
     if ((out[0].header.Naxis[1] != Ny) || (out[0].header.Naxis[0] != Nx)) {
       gprint (GP_ERR, "matrix sizes mis-matched\n");
-      gprint (GP_ERR, "%d x %d  vs  %lld x %lld\n", Nx, Ny, 
-	      (long long) out[0].header.Naxis[0], (long long) out[0].header.Naxis[1]);
+      gprint (GP_ERR, "%d x %d  vs  "OFF_T_FMT" x "OFF_T_FMT"\n", Nx, Ny, 
+	       out[0].header.Naxis[0],  out[0].header.Naxis[1]);
       return (FALSE);
     }
Index: trunk/Ohana/src/opihi/cmd.data/matrix.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/matrix.c	(revision 28232)
+++ trunk/Ohana/src/opihi/cmd.data/matrix.c	(revision 28241)
@@ -23,7 +23,7 @@
 
     if (bufB[0].matrix.Naxis[0] != bufC[0].matrix.Naxis[1]) {
-      gprint (GP_ERR, "size mis-match in matrices: (%lld x %lld) * (%lld x %lld)\n", 
-	      (long long) bufB[0].matrix.Naxis[0], (long long) bufB[0].matrix.Naxis[1], 
-	      (long long) bufC[0].matrix.Naxis[0], (long long) bufC[0].matrix.Naxis[1]);
+      gprint (GP_ERR, "size mis-match in matrices: ("OFF_T_FMT" x "OFF_T_FMT") * ("OFF_T_FMT" x "OFF_T_FMT")\n", 
+	       bufB[0].matrix.Naxis[0],  bufB[0].matrix.Naxis[1], 
+	       bufC[0].matrix.Naxis[0],  bufC[0].matrix.Naxis[1]);
       return (FALSE);
     }
Index: trunk/Ohana/src/opihi/cmd.data/rd.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/rd.c	(revision 28232)
+++ trunk/Ohana/src/opihi/cmd.data/rd.c	(revision 28241)
@@ -222,6 +222,6 @@
   buf[0].unsign = buf[0].header.unsign;
 
-  gprint (GP_LOG, "read %lld bytes from %s into buffer %s\n", 
-	  (long long) buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
+  gprint (GP_LOG, "read "OFF_T_FMT" bytes from %s into buffer %s\n", 
+	   buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
 
   blank = 0xffff;
Index: trunk/Ohana/src/opihi/cmd.data/rdseg.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/rdseg.c	(revision 28232)
+++ trunk/Ohana/src/opihi/cmd.data/rdseg.c	(revision 28241)
@@ -62,5 +62,5 @@
   buf[0].bzero  = buf[0].header.bzero;     /* store the original values */
   buf[0].unsign = buf[0].header.unsign;
-  gprint (GP_LOG, "read %lld bytes from %s into buffer %s\n", (long long) buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
+  gprint (GP_LOG, "read "OFF_T_FMT" bytes from %s into buffer %s\n",  buf[0].header.datasize + buf[0].matrix.datasize, argv[2], argv[1]);
 
   gfits_scan (&buf[0].header, "BLANK", "%d", 1, &blank);
Index: trunk/Ohana/src/opihi/cmd.data/rebin.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/rebin.c	(revision 28232)
+++ trunk/Ohana/src/opihi/cmd.data/rebin.c	(revision 28241)
@@ -63,5 +63,5 @@
     }      
   }
-  if (VERBOSE) gprint (GP_LOG, "rebin %s to %s (%lld,%lld to %d,%d)\n", argv[1], argv[2], (long long) in[0].header.Naxis[0], (long long) in[0].header.Naxis[1], nx, ny);
+  if (VERBOSE) gprint (GP_LOG, "rebin %s to %s ("OFF_T_FMT","OFF_T_FMT" to %d,%d)\n", argv[1], argv[2],  in[0].header.Naxis[0],  in[0].header.Naxis[1], nx, ny);
 
   Nx = in[0].header.Naxis[0];
Index: trunk/Ohana/src/opihi/dvo/avextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/avextract.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/avextract.c	(revision 28241)
@@ -103,5 +103,5 @@
     catalog.Nsecfilt = 0;
 
-    if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
+    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i,  skylist[0].Nregions);
       
     // an error exit status here is a significant error
Index: trunk/Ohana/src/opihi/dvo/avmatch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/avmatch.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/avmatch.c	(revision 28241)
@@ -102,5 +102,5 @@
     catalog.Nsecfilt = 0;
 
-    if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
+    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i,  skylist[0].Nregions);
       
     // an error exit status here is a significant error
Index: trunk/Ohana/src/opihi/dvo/cmatch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/cmatch.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/cmatch.c	(revision 28241)
@@ -37,5 +37,5 @@
   }
   dvo_catalog_unlock (&catalog1);
-  gprint (GP_ERR, "read %lld stars from phot catalog file %s\n", (long long) catalog1.Naverage, filename);
+  gprint (GP_ERR, "read "OFF_T_FMT" stars from phot catalog file %s\n",  catalog1.Naverage, filename);
 
   /* this is for loading from a text file, presumably hstgsc or usno
Index: trunk/Ohana/src/opihi/dvo/cmpread.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/cmpread.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/cmpread.c	(revision 28241)
@@ -65,5 +65,5 @@
 
   /* find expected number of stars */
-  if (!gfits_scan (&header, "NSTARS", "%lld", 1, (long long *) &Nstars)) {
+  if (!gfits_scan (&header, "NSTARS", OFF_T_FMT, 1,  &Nstars)) {
     gprint (GP_ERR, "ERROR: can't get NSTARS from header\n");
     gfits_free_header (&header);
@@ -77,5 +77,5 @@
     /* allocate space for stars */
     gprint (GP_ERR, "reading from TEXT cmp file %s\n", argv[2]);
-    if (!gfits_scan (&header, "NSTARS", "%lld", 1, (long long *) &Nstars)) {
+    if (!gfits_scan (&header, "NSTARS", OFF_T_FMT, 1,  &Nstars)) {
       gprint (GP_ERR, "ERROR: failed to find NSTARS\n");
       exit (1);
@@ -139,5 +139,5 @@
   free (stars);
   gfits_free_header (&header);
-  gprint (GP_ERR, "loaded %lld objects\n", (long long) Nstars);
+  gprint (GP_ERR, "loaded "OFF_T_FMT" objects\n",  Nstars);
   return (TRUE);
 }
Index: trunk/Ohana/src/opihi/dvo/detrend.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/detrend.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/detrend.c	(revision 28241)
@@ -137,5 +137,5 @@
 
   /* load existing data from database */
-  gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
   ALLOCATE (pimage, RegImage, Nimage);
   status = fread (pimage, sizeof(RegImage), Nimage, f);
@@ -143,5 +143,5 @@
 
   if (status != Nimage) {
-    gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status);
+    gprint (GP_ERR, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nimage,  status);
     gfits_free_header (&header);
     free (pimage);
Index: trunk/Ohana/src/opihi/dvo/fitcolors.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/fitcolors.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/fitcolors.c	(revision 28241)
@@ -174,5 +174,5 @@
     // the selection criteria
   }
-  gprint (GP_ERR, "using %lld possible regions\n", (long long) skylist[0].Nregions);
+  gprint (GP_ERR, "using "OFF_T_FMT" possible regions\n",  skylist[0].Nregions);
 
   /* vectors to save data */
Index: trunk/Ohana/src/opihi/dvo/fitsed.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/fitsed.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/fitsed.c	(revision 28241)
@@ -185,5 +185,5 @@
   /* loop over regions, extract data for each region */
   // XXX add interrupt checks
-  gprint (GP_ERR, "using %lld possible regions\n", (long long) skylist[0].Nregions);
+  gprint (GP_ERR, "using "OFF_T_FMT" possible regions\n",  skylist[0].Nregions);
   for (k = 0; k < skylist[0].Nregions; k++) {
     /* lock, load, unlock catalog */
Index: trunk/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/gstar.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/gstar.c	(revision 28241)
@@ -159,5 +159,5 @@
       k = N1[i];
       if (!QUIET) {
-	gprint (GP_LOG, "star: %lld\n", (long long) i);
+	gprint (GP_LOG, "star: "OFF_T_FMT"\n",  i);
 	gprint (GP_LOG, "%11.7f ", catalog.average[k].R);
 	gprint (GP_LOG, "%11.7f ", catalog.average[k].D);
Index: trunk/Ohana/src/opihi/dvo/imrough.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/imrough.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/imrough.c	(revision 28241)
@@ -267,5 +267,5 @@
     
     /* load existing data from database */
-    gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+    gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
     ALLOCATE (image, RegImage, Nimage);
     status = fread (image, sizeof(RegImage), Nimage, f);
@@ -273,5 +273,5 @@
     
     if (status != Nimage) {
-      gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %d)\n", (long long) Nimage, status);
+      gprint (GP_ERR, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs %d)\n",  Nimage, status);
       gfits_free_header (&header);
       free (image);
@@ -304,5 +304,5 @@
   /* convert to internal format */
   image = (RegImage *) table.buffer;
-  gfits_scan (table.header, "NAXIS2", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (table.header, "NAXIS2", OFF_T_FMT, 1,  &Nimage);
   gfits_convert_RegImage (image, sizeof (RegImage), Nimage);
 
Index: trunk/Ohana/src/opihi/dvo/imsearch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/imsearch.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/imsearch.c	(revision 28241)
@@ -106,10 +106,10 @@
 
   /* load existing data from database */
-  gfits_scan (&header, "NIMAGES", "%lld", 1, (long long *) &Nimage);
+  gfits_scan (&header, "NIMAGES", OFF_T_FMT, 1,  &Nimage);
   ALLOCATE (pimage, RegImage, Nimage);
   status = fread (pimage, sizeof(RegImage), Nimage, f);
   fclose (f);
   if (status != Nimage) {
-    gprint (GP_ERR, "ERROR: header and data in dB don't match (%lld vs %lld)\n", (long long) Nimage, (long long) status);
+    gprint (GP_ERR, "ERROR: header and data in dB don't match ("OFF_T_FMT" vs "OFF_T_FMT")\n",  Nimage,  status);
     gfits_free_header (&header);
     free (pimage);
@@ -131,5 +131,5 @@
     obstime[strlen(obstime)-1] = 0;
 
-    gprint (GP_LOG, "%5lld %6s %6s %2d %2d   ", (long long) i, get_type_name(pimage[i].type), get_mode_name(pimage[i].mode), pimage[i].ccd, pimage[i].type);
+    gprint (GP_LOG, OFF_T_FMT" %6s %6s %2d %2d   ",  i, get_type_name(pimage[i].type), get_mode_name(pimage[i].mode), pimage[i].ccd, pimage[i].type);
     gprint (GP_LOG, "%s %s  ", pimage[i].pathname, pimage[i].filename);
     gprint (GP_LOG, "%s %s %f %s\n", pimage[i].filter, pimage[i].instrument, pimage[i].exptime, obstime);
Index: trunk/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mextract.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/mextract.c	(revision 28241)
@@ -120,5 +120,5 @@
     catalog.Nsecfilt = Nsecfilt;
 
-    if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
+    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i,  skylist[0].Nregions);
       
     // an error exit status here is a significant error
Index: trunk/Ohana/src/opihi/dvo/mmextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mmextract.c	(revision 28232)
+++ trunk/Ohana/src/opihi/dvo/mmextract.c	(revision 28241)
@@ -186,5 +186,5 @@
     catalog.Nsecfilt = Nsecfilt;
 
-    if (VERBOSE) gprint (GP_ERR, "trying %s (%lld of %lld)\n", catalog.filename, (long long) i, (long long) skylist[0].Nregions);
+    if (VERBOSE) gprint (GP_ERR, "trying %s ("OFF_T_FMT" of "OFF_T_FMT")\n", catalog.filename,  i,  skylist[0].Nregions);
       
     // an error exit status here is a significant error
Index: trunk/Ohana/src/opihi/pcontrol/StartHost.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/StartHost.c	(revision 28232)
+++ trunk/Ohana/src/opihi/pcontrol/StartHost.c	(revision 28241)
@@ -14,7 +14,6 @@
   if (VarConfig ("SHELL", "%s", shell)     == NULL) strcpy (shell, "pclient");
 
-#ifndef __APPLE__
-  if (VerboseMode()) gprint (GP_ERR, "starting host within thread %lld\n", (long long) pthread_self());
-#endif
+  if (VerboseMode()) gprint (GP_ERR, "starting host within thread\n");
+
   pid = rconnect (command, host[0].hostname, shell, stdio);
   if (!pid) {     
Index: trunk/Ohana/src/opihi/pcontrol/StopHosts.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/StopHosts.c	(revision 28232)
+++ trunk/Ohana/src/opihi/pcontrol/StopHosts.c	(revision 28241)
@@ -128,7 +128,5 @@
   int i, result, waitstatus;
 
-#ifndef __APPLE__
-  if (VerboseMode()) gprint (GP_ERR, "harvesting within thread %lld\n", (long long) pthread_self());
-#endif
+  if (VerboseMode()) gprint (GP_ERR, "harvesting within thread\n");
   if (VerboseMode()) gprint (GP_ERR, "child process %d is down, wait for exit status\n", pid);
   
Index: trunk/Ohana/src/relastro/src/ImageOps.c
===================================================================
--- trunk/Ohana/src/relastro/src/ImageOps.c	(revision 28232)
+++ trunk/Ohana/src/relastro/src/ImageOps.c	(revision 28241)
@@ -165,5 +165,5 @@
   for (i = 0; VERBOSE2 && (i < Nimage); i++) {
     name = GetPhotcodeNamebyCode (image[i].photcode);
-    fprintf (stderr, "image %lld has %lld measures (%s, %s)\n", (long long) i, (long long) Nlist[i],
+    fprintf (stderr, "image "OFF_T_FMT" has "OFF_T_FMT" measures (%s, %s)\n",  i,  Nlist[i],
              ohana_sec_to_date(image[i].tzero), name);
   }
Index: trunk/Ohana/src/relastro/src/UpdateChips.c
===================================================================
--- trunk/Ohana/src/relastro/src/UpdateChips.c	(revision 28232)
+++ trunk/Ohana/src/relastro/src/UpdateChips.c	(revision 28241)
@@ -30,7 +30,7 @@
 
     // FitChip does iterative, clipped fitting
-    // fprintf (stderr, "image %lld : Nstars: %lld\n", (long long) i, (long long) Nraw);
+    // fprintf (stderr, "image "OFF_T_FMT" : Nstars: "OFF_T_FMT"\n",  i,  Nraw);
     if (!FitChip (raw, ref, Nraw, &image[i].coords)) {
-      fprintf (stderr, "reject fit for image %s (%lld) : Nstars: %lld\n", image[i].name, (long long) i, (long long) Nraw);
+      fprintf (stderr, "reject fit for image %s ("OFF_T_FMT") : Nstars: "OFF_T_FMT"\n", image[i].name,  i,  Nraw);
       oldCoords = getCoords (i);
       memcpy (&image[i].coords, oldCoords, sizeof(Coords));
Index: trunk/Ohana/src/relastro/src/UpdateObjects.c
===================================================================
--- trunk/Ohana/src/relastro/src/UpdateObjects.c	(revision 28232)
+++ trunk/Ohana/src/relastro/src/UpdateObjects.c	(revision 28241)
@@ -80,5 +80,5 @@
   for (i = 0; i < Ncatalog; i++) {
 
-    if (VERBOSE) fprintf (stderr, "astrometrize catalog %d : %lld ave, %lld meas\n", i, (long long) catalog[i].Naverage, (long long) catalog[i].Nmeasure);
+    if (VERBOSE) fprintf (stderr, "astrometrize catalog %d : "OFF_T_FMT" ave, "OFF_T_FMT" meas\n", i,  catalog[i].Naverage,  catalog[i].Nmeasure);
 
     Nave = Npar = Npm = Nskip = 0;
@@ -189,5 +189,5 @@
 	  T[k] -= Tmean;
 	  if (XVERB) {
-	    fprintf (stderr, "%lld %f %f %f  %f %f +/- %f %f\n", (long long) k, T[k], R[k], D[k], X[k], Y[k], dX[k], dY[k]);
+	    fprintf (stderr, OFF_T_FMT" %f %f %f  %f %f +/- %f %f\n",  k, T[k], R[k], D[k], X[k], Y[k], dX[k], dY[k]);
 	  }
 	}	  
@@ -316,8 +316,8 @@
     NparSum += Npar;
     NskipSum += Nskip;
-    if (VERBOSE) fprintf (stderr, "catalog %lld : %lld ave, %lld pm, %lld par : Nskip %lld\n", (long long) i, (long long) Nave, (long long) Npm, (long long) Npar, (long long) Nskip);
+    if (VERBOSE) fprintf (stderr, "catalog %d : "OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par : Nskip "OFF_T_FMT"\n",  i,  Nave,  Npm,  Npar,  Nskip);
   }
 
-  fprintf (stderr, "fitted %lld objects (%lld ave, %lld pm, %lld par), skipped %lld\n", (long long) (NaveSum + NpmSum + NparSum), (long long) NaveSum, (long long) NpmSum, (long long) NparSum, (long long) NskipSum);
+  fprintf (stderr, "fitted "OFF_T_FMT" objects ("OFF_T_FMT" ave, "OFF_T_FMT" pm, "OFF_T_FMT" par), skipped "OFF_T_FMT"\n",  (NaveSum + NpmSum + NparSum),  NaveSum,  NpmSum,  NparSum,  NskipSum);
   return (TRUE);
 }
Index: trunk/Ohana/src/relastro/src/bcatalog.c
===================================================================
--- trunk/Ohana/src/relastro/src/bcatalog.c	(revision 28232)
+++ trunk/Ohana/src/relastro/src/bcatalog.c	(revision 28241)
@@ -104,5 +104,5 @@
 
   if (VERBOSE) {
-    fprintf (stderr, "%lld: using %lld stars (%lld measures) for catalog\n", (long long) i, (long long) subcatalog[0].Naverage, (long long) subcatalog[0].Nmeasure);
+    fprintf (stderr, OFF_T_FMT": using "OFF_T_FMT" stars ("OFF_T_FMT" measures) for catalog\n",  i,  subcatalog[0].Naverage,  subcatalog[0].Nmeasure);
    }
   return (TRUE);
Index: trunk/Ohana/src/relastro/src/high_speed_objects.c
===================================================================
--- trunk/Ohana/src/relastro/src/high_speed_objects.c	(revision 28232)
+++ trunk/Ohana/src/relastro/src/high_speed_objects.c	(revision 28241)
@@ -61,5 +61,5 @@
   memset (groupB, 0, catalog[0].Naverage*sizeof(int));
 
-  fprintf (stderr, "checking %lld objects\n", (long long) catalog[0].Naverage);
+  fprintf (stderr, "checking "OFF_T_FMT" objects\n",  catalog[0].Naverage);
   Nslow = 0;
 
@@ -142,5 +142,5 @@
 	continue;
       } else {
-	// fprintf (stderr, "skip %lld (group A)\n", (long long) i);
+	// fprintf (stderr, "skip "OFF_T_FMT" (group A)\n",  i);
       }
     }
@@ -189,5 +189,5 @@
 	continue;
       } else {
-	// fprintf (stderr, "skip %lld (group B)\n", (long long) i);
+	// fprintf (stderr, "skip "OFF_T_FMT" (group B)\n",  i);
       }
     }
@@ -197,5 +197,5 @@
     Nslow ++;
   }
-  fprintf (stderr, "%lld of %lld are slow or invalid; %lld in group A, %lld in group B\n", (long long) Nslow, (long long) catalog[0].Naverage, (long long) NgroupA, (long long) NgroupB);
+  fprintf (stderr, OFF_T_FMT" of "OFF_T_FMT" are slow or invalid; "OFF_T_FMT" in group A, "OFF_T_FMT" in group B\n",  Nslow,  catalog[0].Naverage,  NgroupA,  NgroupB);
     
   // double loop over unmarked objects (sorted in RA / X)
Index: trunk/Ohana/src/relastro/src/select_images.c
===================================================================
--- trunk/Ohana/src/relastro/src/select_images.c	(revision 28232)
+++ trunk/Ohana/src/relastro/src/select_images.c	(revision 28241)
@@ -115,5 +115,5 @@
     
     if (!FindMosaicForImage (timage, Ntimage, i)) {
-      fprintf (stderr, "cannot find mosaic for %lld\n", (long long) i);
+      fprintf (stderr, "cannot find mosaic for "OFF_T_FMT"\n",  i);
       continue;
     }
@@ -190,5 +190,5 @@
   }
       
-  if (VERBOSE) fprintf (stderr, "found %lld images\n", (long long) nimage);
+  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" images\n",  nimage);
 
   REALLOCATE (image, Image, MAX (nimage, 1));
Index: trunk/Ohana/src/relphot/src/GridOps.c
===================================================================
--- trunk/Ohana/src/relphot/src/GridOps.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/GridOps.c	(revision 28241)
@@ -703,5 +703,5 @@
   gfits_create_header (&header);
   gfits_create_matrix (&header, &matrix);
-  gfits_modify (&header, "NEXTEND", "%lld", 1, (long long) Nimage + 3);
+  gfits_modify (&header, "NEXTEND", OFF_T_FMT, 1,  Nimage + 3);
   gfits_modify (&header, "FILTER", "%s", 1, photcode[0].name);
   gfits_modify_alt (&header, "COMMENT", "%S", 1, "Mosaic Photometry Grid Analysis");
Index: trunk/Ohana/src/relphot/src/ImageOps.c
===================================================================
--- trunk/Ohana/src/relphot/src/ImageOps.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/ImageOps.c	(revision 28241)
@@ -200,5 +200,5 @@
     status = findCCD (idx, meas, cat, measure);
     if (!status) {
-      if (VERBOSE2) fprintf (stderr, "failed to determine CCD for %lld, %d\n", (long long) meas, cat);
+      if (VERBOSE2) fprintf (stderr, "failed to determine CCD for "OFF_T_FMT", %d\n",  meas, cat);
       return;
     }
Index: trunk/Ohana/src/relphot/src/MosaicOps.c
===================================================================
--- trunk/Ohana/src/relphot/src/MosaicOps.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/MosaicOps.c	(revision 28241)
@@ -400,5 +400,5 @@
       mark = (N < IMAGE_TOOFEW) || (N < IMAGE_GOOD_FRACTION*Nlist[i]);
       if (mark) {
-	fprintf (stderr, "marked mosaic %s (%lld), (%lld < %d) || (%lld < %f*%lld)\n", image[imlist[i][0]].name, (long long) i, (long long) N, IMAGE_TOOFEW, (long long) N, IMAGE_GOOD_FRACTION, (long long) Nlist[i]);
+	fprintf (stderr, "marked mosaic %s ("OFF_T_FMT"), ("OFF_T_FMT" < %d) || ("OFF_T_FMT" < %f*"OFF_T_FMT")\n", image[imlist[i][0]].name,  i,  N, IMAGE_TOOFEW,  N, IMAGE_GOOD_FRACTION,  Nlist[i]);
 	mosaic[i].flags |= ID_IMAGE_FEW;
 	Nfew ++;
@@ -408,5 +408,5 @@
     }
     liststats (list, dlist, N, &stats);
-    if (PoorImages) fprintf (stderr, "Mmos: %f %f %d %lld\n", stats.mean, stats.sigma, stats.Nmeas, (long long) N);
+    if (PoorImages) fprintf (stderr, "Mmos: %f %f %d "OFF_T_FMT"\n", stats.mean, stats.sigma, stats.Nmeas,  N);
     mosaic[i].Mcal  = stats.mean;
     mosaic[i].dMcal = stats.sigma;
@@ -519,5 +519,5 @@
     n++;
   }
-  fprintf (stderr, "Nmosaic: %lld, n: %lld\n", (long long) Nmosaic, (long long) n);
+  fprintf (stderr, "Nmosaic: "OFF_T_FMT", n: "OFF_T_FMT"\n",  Nmosaic,  n);
 
   liststats (list, dlist, n, &stats);
@@ -599,5 +599,5 @@
   }
 
-  fprintf (stderr, "%lld mosaics marked poor\n", (long long) Nmark);
+  fprintf (stderr, OFF_T_FMT" mosaics marked poor\n",  Nmark);
   initstats (STATMODE);
   free (mlist);
@@ -643,5 +643,5 @@
     }
   
-    sprintf (string, "Mosaic %lld", (long long) i);
+    sprintf (string, "Mosaic "OFF_T_FMT,  i);
     plot_defaults (&graphdata);
     plot_list (&graphdata, xlist, ylist, N, string, NULL);
Index: trunk/Ohana/src/relphot/src/StarOps.c
===================================================================
--- trunk/Ohana/src/relphot/src/StarOps.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/StarOps.c	(revision 28241)
@@ -502,5 +502,5 @@
   }
   initstats (STATMODE);
-  if (VERBOSE) fprintf (stderr, "%lld measures marked poor, %lld total\n", (long long) Ndel, (long long) Nave);
+  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measures marked poor, "OFF_T_FMT" total\n", Ndel, Nave);
   free (ilist);
   free (tlist);
Index: trunk/Ohana/src/relphot/src/bcatalog.c
===================================================================
--- trunk/Ohana/src/relphot/src/bcatalog.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/bcatalog.c	(revision 28241)
@@ -7,4 +7,5 @@
   off_t NAVERAGE, NMEASURE, Naverage, Nmeasure, Nm;
   float mag;
+  int Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew;
 
   // XXX PhotNsec as a global is a bad idea; either get it from catalog
@@ -20,4 +21,6 @@
   ALLOCATE (subcatalog[0].measure, Measure, NMEASURE);
   Nmeasure = Naverage = 0;
+
+  Ncode = Ntime = Ndophot = Nmag = Nsigma = Nimag = Nfew = 0;
 
   /* exclude stars not in range or with too few measurements */
@@ -46,10 +49,10 @@
       /* select measurements by photcode */
       ecode = GetPhotcodeEquivCodebyCode (catalog[0].measure[offset].photcode);
-      if (ecode != photcode[0].code) continue;
+      if (ecode != photcode[0].code) { Ncode ++; continue; }
 
       /* select measurements by time */
       if (TimeSelect) {
-	if (catalog[0].measure[offset].t < TSTART) continue;
-	if (catalog[0].measure[offset].t > TSTOP) continue;
+	if (catalog[0].measure[offset].t < TSTART) { Ntime ++; continue; }
+	if (catalog[0].measure[offset].t > TSTOP)  { Ntime ++; continue; }
       }
 
@@ -57,18 +60,18 @@
       // XXX ignore this criterion for REF measurements?
       // XXX chnage this to select by bitflags
-      if (DophotSelect && ((catalog[0].measure[offset].photFlags >> 16) != DophotValue)) continue;
+      if (DophotSelect && ((catalog[0].measure[offset].photFlags >> 16) != DophotValue)) { Ndophot ++; continue; }
 
       /* select measurements by mag limit */
       mag = PhotCat (&catalog[0].measure[offset]);
-      if (mag > MAG_LIM) continue;
+      if (mag > MAG_LIM) { Nmag ++; continue; } 
 
       /* select measurements by measurement error */
-      if ((SIGMA_LIM > 0) && (catalog[0].measure[offset].dM > SIGMA_LIM)) continue;
+      if ((SIGMA_LIM > 0) && (catalog[0].measure[offset].dM > SIGMA_LIM)) { Nsigma ++; continue; }
 
       /* select measurements by mag limit */
       if (ImagSelect) {
 	mag = PhotInst (&catalog[0].measure[offset]);
-	if (mag < ImagMin) continue;
-	if (mag > ImagMax) continue;
+	if (mag < ImagMin) { Nimag ++; continue; }
+	if (mag > ImagMax) { Nimag ++; continue; }
       }
 
@@ -94,4 +97,5 @@
     if (Nm <= STAR_TOOFEW) { /* enough measurements in band? */
       Nmeasure -= Nm;
+      Nfew ++;
       continue; 
     }
@@ -114,6 +118,8 @@
 
   if (VERBOSE) {
-    fprintf (stderr, "%lld: using %lld stars (%lld measures) for catalog\n", (long long) i, 
-	     (long long) subcatalog[0].Naverage, (long long) subcatalog[0].Nmeasure);
+    fprintf (stderr, "using "OFF_T_FMT" stars ("OFF_T_FMT" measures) of "OFF_T_FMT" for catalog\n", 
+	      subcatalog[0].Naverage,  subcatalog[0].Nmeasure,  i);
+    fprintf (stderr, "rejections: %d code, %d time, %d dophot, %d mag, %d sigma, %d imag, %d few\n", 
+	     Ncode, Ntime, Ndophot, Nmag, Nsigma, Nimag, Nfew);
   }
   return (TRUE);
Index: trunk/Ohana/src/relphot/src/load_catalogs.c
===================================================================
--- trunk/Ohana/src/relphot/src/load_catalogs.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/load_catalogs.c	(revision 28241)
@@ -47,4 +47,7 @@
 
   fprintf (stderr, "using %d of %d stars (%d of %d measurements)\n", Nstar, Nstar_total, Nmeas, Nmeas_total);
+  if (Nstar < 1) {
+      Shutdown ("ERROR: no stars match the minimum requirements; exiting\n");
+  }
 
   // XXX consider only returning the populated catalogs
Index: trunk/Ohana/src/relphot/src/load_images.c
===================================================================
--- trunk/Ohana/src/relphot/src/load_images.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/load_images.c	(revision 28241)
@@ -47,5 +47,5 @@
   vtable = &db[0].vtable;
 
-  gfits_scan (vtable[0].header, "NAXIS1", "%lld", 1, (long long *) &Nx);
+  gfits_scan (vtable[0].header, "NAXIS1", OFF_T_FMT, 1,  &Nx);
   for (i = 0; i < Nimage; i++) {
     memcpy (vtable[0].buffer[i], &image[i], Nx);
Index: trunk/Ohana/src/relphot/src/relphot_objects.c
===================================================================
--- trunk/Ohana/src/relphot/src/relphot_objects.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/relphot_objects.c	(revision 28241)
@@ -55,4 +55,5 @@
 	for (k = 0; k < catalog.average[j].Nmeasure; k++) {
 	  catalog.measure[m+k].dbFlags = 0;
+	  catalog.measure[m+k].Mcal = 0;
 	}
       }
Index: trunk/Ohana/src/relphot/src/select_images.c
===================================================================
--- trunk/Ohana/src/relphot/src/select_images.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/select_images.c	(revision 28241)
@@ -101,5 +101,5 @@
     
     if (!FindMosaicForImage (timage, Ntimage, i)) {
-      fprintf (stderr, "cannot find mosaic for %lld\n", (long long) i);
+      fprintf (stderr, "cannot find mosaic for "OFF_T_FMT"\n", i);
       continue;
     }
@@ -175,5 +175,5 @@
   }
       
-  if (VERBOSE) fprintf (stderr, "found %lld images\n", (long long) nimage);
+  if (VERBOSE) fprintf (stderr, "found "OFF_T_FMT" images\n", nimage);
 
   REALLOCATE (image, Image, MAX (nimage, 1));
Index: trunk/Ohana/src/relphot/src/setExclusions.c
===================================================================
--- trunk/Ohana/src/relphot/src/setExclusions.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/setExclusions.c	(revision 28241)
@@ -50,7 +50,7 @@
     }
   }
-  if (VERBOSE) fprintf (stderr, "%lld measurements marked by area\n",    (long long) Narea);
-  if (VERBOSE) fprintf (stderr, "%lld measurements marked nocal\n",      (long long) Nnocal);
-  if (VERBOSE) fprintf (stderr, "%lld measurements kept for analysis\n", (long long) Ngood);
+  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measurements marked by area\n",    Narea);
+  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measurements marked nocal\n",      Nnocal);
+  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measurements kept for analysis\n", Ngood);
   return (TRUE);
 }
Index: trunk/Ohana/src/relphot/src/setMrelFinal.c
===================================================================
--- trunk/Ohana/src/relphot/src/setMrelFinal.c	(revision 28232)
+++ trunk/Ohana/src/relphot/src/setMrelFinal.c	(revision 28241)
@@ -138,6 +138,6 @@
     }
   }
-  if (VERBOSE) fprintf (stderr, "pass %d, Ntot: %lld, Ntry: %lld, Nskip: %lld, Nkeep: %lld\n",
-			pass, (long long) Ntot, (long long) Ntry, (long long) Nskip, (long long) Nkeep);
+  if (VERBOSE) fprintf (stderr, "pass %d, Ntot: "OFF_T_FMT", Ntry: "OFF_T_FMT", Nskip: "OFF_T_FMT", Nkeep: "OFF_T_FMT"\n",
+			pass, Ntot, Ntry, Nskip, Nkeep);
 }
 
Index: trunk/Ohana/src/tools/src/ftable.c
===================================================================
--- trunk/Ohana/src/tools/src/ftable.c	(revision 28232)
+++ trunk/Ohana/src/tools/src/ftable.c	(revision 28241)
@@ -1,4 +1,5 @@
 # include <ohana.h>
 # include <gfitsio.h>
+# include "inttypes.h"
 
 char *print_table_row (char *row, Header *header);
@@ -95,6 +96,6 @@
   table.datasize = Nbytes;
 
-  gfits_scan (table.header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (table.header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (table.header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (table.header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
 
   /* print a column */
@@ -125,5 +126,5 @@
   char field[16], type[16], format[16], *line;
 
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
   gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
 
@@ -209,9 +210,9 @@
     for (i = 0; i < Naxis; i++) {
       sprintf (axisname, "NAXIS%d", i+1);
-      status = gfits_scan (&header, axisname,  "%lld", 1, (long long *) &Nelem);
+      status = gfits_scan (&header, axisname,  OFF_T_FMT, 1,  &Nelem);
       if (!status) {
 	fprintf (stderr, "missing %s\n", axisname);
       }
-      fprintf (stdout, " %7lld", (long long) Nelem);
+      fprintf (stdout, " "OFF_T_FMT,  Nelem);
     }
     fprintf (stdout, "\n");
@@ -294,6 +295,6 @@
 
   gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
-  gfits_scan (header, "NAXIS1",  "%lld", 1, (long long *) &Nx);
-  gfits_scan (header, "NAXIS2",  "%lld", 1, (long long *) &Ny);
+  gfits_scan (header, "NAXIS1",  OFF_T_FMT, 1,  &Nx);
+  gfits_scan (header, "NAXIS2",  OFF_T_FMT, 1,  &Ny);
 
   if (Colname != (char *) NULL) {
@@ -358,5 +359,5 @@
 	  if (!strcmp (type, "int64_t")) {
 	    memcpy (line, &data[i*Nv*Nb + Nb*j], Nb);
-	    fprintf (stdout, "%lld ", (long long) *(int64_t*)line);
+	    fprintf (stdout, "%" PRId64" ",  *(int64_t*)line);
 	  }
 	  if (!strcmp (type, "float")) {
Index: trunk/Ohana/src/uniphot/src/load_images.c
===================================================================
--- trunk/Ohana/src/uniphot/src/load_images.c	(revision 28232)
+++ trunk/Ohana/src/uniphot/src/load_images.c	(revision 28241)
@@ -23,5 +23,5 @@
   image = gfits_table_get_Image (&db[0].ftable, Nimage, &db[0].swapped);
 
-  fprintf (stderr, "loaded %lld images\n", (long long) *Nimage);
+  fprintf (stderr, "loaded "OFF_T_FMT" images\n", *Nimage);
 
   return (image);
Index: trunk/Ohana/src/uniphot/src/update_catalog_setphot.c
===================================================================
--- trunk/Ohana/src/uniphot/src/update_catalog_setphot.c	(revision 28232)
+++ trunk/Ohana/src/uniphot/src/update_catalog_setphot.c	(revision 28241)
@@ -93,5 +93,5 @@
 
   if (found) {
-    fprintf (stderr, "found %lld matches\n", (long long) found);
+    fprintf (stderr, "found "OFF_T_FMT" matches\n", found);
   }
 }
