Index: trunk/Ohana/src/libfits/header/F_create_H.c
===================================================================
--- trunk/Ohana/src/libfits/header/F_create_H.c	(revision 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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 27484)
+++ 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;
 
