Index: /trunk/Ohana/src/libfits/table/F_get_column.c
===================================================================
--- /trunk/Ohana/src/libfits/table/F_get_column.c	(revision 12398)
+++ /trunk/Ohana/src/libfits/table/F_get_column.c	(revision 12399)
@@ -64,7 +64,7 @@
 
   /* interpret format */
-  sprintf (field, "TSCAL%d", Nfields);
+  sprintf (field, "TSCAL%d", N);
   gfits_scan (header, field, "%lf", 1, &Bscale);
-  sprintf (field, "TZERO%d", Nfields);
+  sprintf (field, "TZERO%d", N);
   gfits_scan (header, field, "%lf", 1, &Bzero);
   sprintf (field, "TFORM%d", N);
Index: /trunk/Ohana/src/tools/src/ftable.c
===================================================================
--- /trunk/Ohana/src/tools/src/ftable.c	(revision 12398)
+++ /trunk/Ohana/src/tools/src/ftable.c	(revision 12399)
@@ -350,6 +350,7 @@
   if (Binary) {
     if (!gfits_get_bintable_column_type (header, Colname, type, &Nv)) return;
-    if (!strcmp (type, "char")) return;
+    // if (!strcmp (type, "char")) return;
     if (!gfits_get_bintable_column (header, table, Colname, (void **)&data)) return;
+    // this results in an array of Ny*Nv entries
 
     for (i = 0; i < Ny; i++) {
@@ -360,14 +361,10 @@
 	for (j = 0; j < Nv; j++) {
 	  if (!strcmp (type, "int")) {
-	    memcpy (line, &data[i*Nx + Nstart + Nb*j], Nb);
-	    ByteSwap (line, Nb, 1, "int");
-	    Ti = (int *)line;
-	    fprintf (stdout, "%d ", Ti[0]);
+	    memcpy (line, &data[i*Nv*Nb + Nb*j], Nb);
+	    fprintf (stdout, "%d ", *(int *)line);
 	  }
 	  if (!strcmp (type, "float")) {
-	    memcpy (line, &data[i*Nx + Nstart + Nb*j], Nb);
-	    ByteSwap (line, Nb, 1, "float");
-	    Tf = (float *)line;
-	    fprintf (stdout, "%f ", Tf[0]);
+	    memcpy (line, &data[i*Nv*Nb + Nb*j], Nb);
+	    fprintf (stdout, "%e ", *(float *)line);
 	  }
 	}
