Index: /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.data/read_vectors.c
===================================================================
--- /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 42058)
+++ /branches/eam_branches/ipp-20211108/Ohana/src/opihi/cmd.data/read_vectors.c	(revision 42059)
@@ -629,8 +629,9 @@
   }
   if (listFields) {
-    read_table_fields (&header, IsCompressed, VERBOSE);
+    int tstatus = read_table_fields (&header, IsCompressed, VERBOSE);
     if (CCDKeyword != NULL) free (CCDKeyword); 
     gfits_free_header (&header); 
-    return TRUE;
+    if (!tstatus) { gprint (GP_ERR, "error reading table fields\n"); }
+    return tstatus;
   }
   if (IsCompressed) {
@@ -855,6 +856,13 @@
   char field[32], varname[32], type[80], comment[80], format[80], unit[80], null[80], nval[80];
 
-  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
-
+  if (!gfits_scan (header, "TFIELDS", "%d", 1, &Nfields)) {
+    if (VERBOSE) gprint (GP_ERR, "cannot read TFIELDS from header\n"); 
+    set_int_variable ("table:Nx", header->Naxis[0]);
+    set_int_variable ("table:Ny", header->Naxis[1]);
+    set_int_variable ("table:Nfields", 0);
+    set_int_variable ("tfields:n", 0);
+    return TRUE;
+  }
+   
   set_int_variable ("table:Nx", header->Naxis[0]);
   set_int_variable ("table:Ny", header->Naxis[1]);
@@ -872,10 +880,12 @@
 
     snprintf (field, 32, "TTYPE%d", i);
-    gfits_scan (header, field, "%s", 1, type);
+    if (!gfits_scan (header, field, "%s", 1, type)) {
+      if (VERBOSE) gprint (GP_ERR, "cannot read %s from header\n", field); 
+    }
     
     snprintf (varname, 32, "tfields:%d", i - 1);
     set_str_variable (varname, type);
 
-    gfits_scan_alt (header, field, "%C", 1, comment);
+    gfits_scan_alt (header, field, "%C", 1, comment); 
 
     if (!isCompressed) {
@@ -884,5 +894,7 @@
       snprintf (field, 32, "ZFORM%d", i);
     }
-    gfits_scan (header, field, "%s", 1, format);
+    if (!gfits_scan (header, field, "%s", 1, format)) {
+      if (VERBOSE) gprint (GP_ERR, "cannot read %s from header\n", field); 
+    }
 
     snprintf (field, 32, "TUNIT%d", i);
@@ -895,6 +907,4 @@
     if (VERBOSE) gprint (GP_LOG, "%-18s %-15s %-18s %-6s %-8s %-8s %-32s\n", type, varname, unit, format, null, nval, comment); 
   }
-
-
   return TRUE;
 }
