Index: trunk/Ohana/src/libdvo/src/skyregion_io.c
===================================================================
--- trunk/Ohana/src/libdvo/src/skyregion_io.c	(revision 5441)
+++ trunk/Ohana/src/libdvo/src/skyregion_io.c	(revision 5445)
@@ -29,5 +29,5 @@
     return (NULL);
   }
-  if (!fits_fread_ftable (f, &ftable, "SKY_REGIONS")) {
+  if (!fits_fread_ftable (f, &ftable, "SKY_REGION")) {
     if (VERBOSE) fprintf (stderr, "can't read Sky Region table\n");
     fits_free_header (&header);
@@ -47,8 +47,34 @@
 }
 
-int SkyTableSave (SkyTable *table, char *filename) {
+int SkyTableSave (SkyTable *skytable, char *filename) {
 
-  fprintf (stderr, "not yet defined\n");
+  Header header;
+  Matrix matrix;
+  Header theader;
+  FTable ftable;
+  FILE *f;
 
+  /* make phu header (no matrix needed) */
+  ftable.header = &theader;
+  fits_init_header (&header);
+  header.extend = TRUE;
+  fits_create_header (&header);
+  fits_create_matrix (&header, &matrix);
+
+  fits_table_set_SkyRegion (&ftable, skytable[0].regions, skytable[0].Nregions);
+
+  f = fopen (filename, "w");
+  if (f == (FILE *) NULL) { 
+    fprintf (stderr, "cannot open %s for output\n", filename);
+    exit (1);
+  }
+  
+  fits_fwrite_header  (f, &header);
+  fits_fwrite_matrix  (f, &matrix);
+  fits_fwrite_Theader (f, &theader);
+  fits_fwrite_table  (f, &ftable);
+  fclose (f);
+
+  return (TRUE);
 }
 
