Index: /trunk/Ohana/src/imregister/spreg/output.c
===================================================================
--- /trunk/Ohana/src/imregister/spreg/output.c	(revision 3491)
+++ /trunk/Ohana/src/imregister/spreg/output.c	(revision 3492)
@@ -70,5 +70,5 @@
   fits_fwrite_matrix   (f, &matrix);
   fits_fwrite_Theader  (f, &theader);
-  fits_fwrite_ftable   (f, &ftable));
+  fits_fwrite_ftable   (f, &ftable);
   fclose (f);
 
@@ -80,5 +80,5 @@
   
   int i;
-  char *obsstr, *regstr, *line, dummy[64], *datestr;
+  char *obsstr, *regstr, *line, *datestr;
   unsigned long tsecond;
   Header header, theader;
@@ -86,7 +86,4 @@
   FTable table;
   Spectrum *subset;
-
-  bzero (dummy, 64);
-  memset (dummy, ' ', 63);
 
   /* create primary header */
@@ -97,40 +94,11 @@
   fits_print (&header, "NEXTEND", "%d", 1, 1);
   
-  /* create table header */
-  fits_create_table_header (&theader, "TABLE", "SPECTRUM_DATABASE");
-      
-  /* add current date/time to header */
-  str_to_time ("now", &tsecond);
-  datestr = sec_to_date (tsecond);
-  fits_modify (&header,  "DATE", "%s", 1, datestr);
-  fits_modify (&theader, "DATE", "%s", 1, datestr);
+  ftable.header = &theader;
+  fits_table_set_SpectrumASCII (&ftable, NULL, 0);
+  
+  /* the ASCII table is always a little harder than the binary 
+     need to build the data line a bit carefully 
+   */
 
-  /* define table layout (can this be autocoded?) */
-  fits_define_table_column (&theader, "A32",  "FILENAME",   "filename in db",        "");
-  fits_define_table_column (&theader, "A64",  "PATHNAME",   "fullpath in db",        "");
-  fits_define_table_column (&theader, "A16",  "INSTRUMENT", "instrument",            "");
-  fits_define_table_column (&theader, "A16",  "TELESCOPE",  "telescope",             "");
-  fits_define_table_column (&theader, "A16",  "OBJNAME",    "object name",           "");
-  fits_define_table_column (&theader, "A16",  "EXTNAME",    "extname in file",       "");
-
-  fits_define_table_column (&theader, "F10.6","RA",         "ra",                    "degrees"); 
-  fits_define_table_column (&theader, "F10.6","DEC",        "dec",                   "degrees"); 
-  fits_define_table_column (&theader, "F6.1", "EXPTIME",    "exposure time",         "seconds"); 
-  fits_define_table_column (&theader, "F5.3", "AIRMASS",    "airmass",               ""); 
-  fits_define_table_column (&theader, "F7.2", "Ws",         "spectral range start",  "Angstrom"); 
-  fits_define_table_column (&theader, "F7.2", "We",         "spectral range end",    "Angstrom"); 
-  fits_define_table_column (&theader, "F7.2", "dW",         "spectral resolution",   "Angstrom / pix"); 
-
-  fits_define_table_column (&theader, "I3",   "NSPECTRA",   "number of spectra",     ""); 
-  fits_define_table_column (&theader, "A20",  "OBS_TIME",   "time of observation",   "yyyy/mm/dd,hh:mm:ss");
-  fits_define_table_column (&theader, "A20",  "REG_TIME",   "time of registration",  "yyyy/mm/dd,hh:mm:ss");
-
-  fits_define_table_column (&theader, "I2",   "MODE",       "phu/mef/ext",           "");
-  fits_define_table_column (&theader, "I2",   "STATE",      "raw/wav/flx/etc",       "");
-  fits_define_table_column (&theader, "I3",   "FLAG",       "status flags",          "");
-
-  /* create table, add data values */
-  fits_create_table (&theader, &table);
-  
   /* add data to table */
   for (i = 0; i < Nmatch; i++) {
@@ -139,4 +107,5 @@
     regstr   = sec_to_date (subset[0].regtime);
 
+    /* we should get an error here if we don't construct this line correctly */
     line = fits_table_print (&table, subset[0].filename, subset[0].pathname, subset[0].instrument, 
 			     subset[0].telescope, subset[0].objname, subset[0].extname, 
@@ -151,4 +120,10 @@
     free (regstr);
   }
+
+  /* add current date/time to header */
+  str_to_time ("now", &tsecond);
+  datestr = sec_to_date (tsecond);
+  fits_modify (&header,  "DATE", "%s", 1, datestr);
+  fits_modify (&theader, "DATE", "%s", 1, datestr);
 
   fits_write_header  (filename, &header);
Index: /trunk/Ohana/src/libfits/table/F_table_format.c
===================================================================
--- /trunk/Ohana/src/libfits/table/F_table_format.c	(revision 3491)
+++ /trunk/Ohana/src/libfits/table/F_table_format.c	(revision 3492)
@@ -79,4 +79,12 @@
   return (TRUE);
 }
+
+/*
+  valid TABLE column formats:
+  FN.N  - floating point
+  INN   - integer
+  ANN   - NN char string
+  
+*/
 
 /** extract a table subset to a vtable ***/
@@ -180,12 +188,3 @@
 }
 
-/*
-  valid TABLE column formats:
-  FN.N  - floating point
-  INN   - integer
-  ANN   - NN char string
-  
-*/
-
-
     /* vsnprintf (&line[off], Nchar + 1, format, argp); */
