Index: /trunk/Ohana/src/libfits/include/gfitsio.h
===================================================================
--- /trunk/Ohana/src/libfits/include/gfitsio.h	(revision 41432)
+++ /trunk/Ohana/src/libfits/include/gfitsio.h	(revision 41433)
@@ -256,5 +256,5 @@
 void   *gfits_get_bintable_column_data_raw   PROTO((Header *header, FTable *table, char *label, char *type, off_t *Nrow, int *Ncol, char nativeOrder));
 int     gfits_get_table_column         PROTO((Header *header, FTable *table, char *label, void **data));
-int     gfits_get_table_column_type    PROTO((Header *header, char *label, char *type));
+int     gfits_get_table_column_type    PROTO((Header *header, char *label, char *type, int *Nval));
 int     gfits_read_ftable              PROTO((char *filename, FTable *table, char *extname));
 int     gfits_read_table               PROTO((char *filename, FTable *ftable)); 
Index: /trunk/Ohana/src/libfits/table/F_get_column.c
===================================================================
--- /trunk/Ohana/src/libfits/table/F_get_column.c	(revision 41432)
+++ /trunk/Ohana/src/libfits/table/F_get_column.c	(revision 41433)
@@ -318,7 +318,7 @@
 
 /***********************/
-int gfits_get_table_column_type (Header *header, char *label, char *type) {
-
-  int i, N, Nfields, Nval, Nbytes;
+int gfits_get_table_column_type (Header *header, char *label, char *type, int *Nval) {
+
+  int i, N, Nfields, Nbytes;
   char tlabel[256], field[256], format[256];
 
@@ -340,5 +340,7 @@
   gfits_scan (header, field, "%s", 1, format);
 
-  if (!gfits_table_format (format, type, &Nval, &Nbytes)) return (FALSE);
+  if (!gfits_table_format (format, type, Nval, &Nbytes)) return (FALSE);
+  *Nval = 1;
+
   return (TRUE);
 }
@@ -404,5 +406,5 @@
     for (i = 0; i < Ny; i++, Pin+=Nx, Pout+=4) {
       memcpy (line, Pin, Nval*Nbytes);
-      sscanf (line, "%d", (int *)Pout);
+      sscanf (line, cformat, (int *)Pout);
     }
   }
@@ -420,5 +422,5 @@
     for (i = 0; i < Ny; i++, Pin+=Nx, Pout+=4) {
       memcpy (line, Pin, Nval*Nbytes);
-      sscanf (line, "%f", (float *)Pout);
+      sscanf (line, cformat, (float *)Pout);
     }
   }
Index: /trunk/Ohana/src/libfits/table/F_table_format.c
===================================================================
--- /trunk/Ohana/src/libfits/table/F_table_format.c	(revision 41432)
+++ /trunk/Ohana/src/libfits/table/F_table_format.c	(revision 41433)
@@ -115,6 +115,4 @@
   if (!*Nbytes) { return (FALSE); }
   
-  // XXXX : check usage:
-  myAbort ("need to check length");
   sprintf (format, "%%-%s%c", Size, Type); // NOTE: this line is not used 
 
