Index: trunk/Ohana/src/opihi/dvo/avextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/avextract.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/avextract.c	(revision 5945)
@@ -55,5 +55,5 @@
   for (i = 0; i < skylist[0].Nregions; i++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[i][0].filename;
+    catalog.filename = skylist[0].filename[i];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/calextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/calextract.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/calextract.c	(revision 5945)
@@ -61,5 +61,5 @@
 
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[Nr][0].filename;
+    catalog.filename = skylist[0].filename[Nr];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/calmextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/calmextract.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/calmextract.c	(revision 5945)
@@ -74,5 +74,5 @@
 
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[Nr][0].filename;
+    catalog.filename = skylist[0].filename[Nr];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/ccd.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/ccd.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/ccd.c	(revision 5945)
@@ -58,5 +58,5 @@
   for (k = 0; k < skylist[0].Nregions; k++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[k][0].filename;
+    catalog.filename = skylist[0].filename[k];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
       case 2:
Index: trunk/Ohana/src/opihi/dvo/cmd.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/cmd.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/cmd.c	(revision 5945)
@@ -56,5 +56,5 @@
   for (j = 0; j < skylist[0].Nregions; j++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[j][0].filename;
+    catalog.filename = skylist[0].filename[j];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/ddmags.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/ddmags.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/ddmags.c	(revision 5945)
@@ -58,5 +58,5 @@
   for (k = 0; k < skylist[0].Nregions; k++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[k][0].filename;
+    catalog.filename = skylist[0].filename[k];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
       case 2:
Index: trunk/Ohana/src/opihi/dvo/dmagaves.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dmagaves.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/dmagaves.c	(revision 5945)
@@ -50,5 +50,5 @@
   for (j = 0; j < skylist[0].Nregions; j++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[j][0].filename;
+    catalog.filename = skylist[0].filename[j];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/dmagmeas.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dmagmeas.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/dmagmeas.c	(revision 5945)
@@ -58,5 +58,5 @@
   for (j = 0; j < skylist[0].Nregions; j++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[j][0].filename;
+    catalog.filename = skylist[0].filename[j];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
       case 2:
Index: trunk/Ohana/src/opihi/dvo/dmags.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dmags.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/dmags.c	(revision 5945)
@@ -56,5 +56,5 @@
   for (j = 0; j < skylist[0].Nregions; j++) {
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[j][0].filename;
+    catalog.filename = skylist[0].filename[j];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
       case 2:
Index: trunk/Ohana/src/opihi/dvo/dmt.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dmt.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/dmt.c	(revision 5945)
@@ -69,5 +69,5 @@
 
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[k][0].filename;
+    catalog.filename = skylist[0].filename[k];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/fitcolors.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/fitcolors.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/fitcolors.c	(revision 5945)
@@ -99,5 +99,5 @@
   for (k = 0; k < skylist[0].Nregions; k++) {
     /* lock, load, unlock catalog */
-    catalog[k].filename = (char *) skylist[0].regions[k][0].filename;
+    catalog[k].filename = skylist[0].filename[k];
     switch (lock_catalog (&catalog[k], LCK_SOFT)) {
       case 2:
Index: trunk/Ohana/src/opihi/dvo/gcat.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/gcat.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/gcat.c	(revision 5945)
@@ -26,10 +26,10 @@
 
   for (i = 0; i < skylist[0].Nregions; i++) {
-    if (stat ((char *) skylist[0].regions[i][0].filename, &filestat) != -1) {
+    if (stat (skylist[0].filename[i], &filestat) != -1) {
       fprintf (stderr, "%3d %s *\n", i, skylist[0].regions[i][0].name);
     } else {
       fprintf (stderr, "%3d %s\n", i, skylist[0].regions[i][0].name);
     } 
-    set_str_variable ("CATNAME", (char *) skylist[0].regions[i][0].filename);
+    set_str_variable ("CATNAME", skylist[0].filename[i]);
   }
 
Index: trunk/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/gstar.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/gstar.c	(revision 5945)
@@ -60,5 +60,5 @@
 
   /* lock, load, unlock catalog */
-  catalog.filename = (char *) skylist[0].regions[0][0].filename;
+  catalog.filename = skylist[0].filename[0];
   switch (lock_catalog (&catalog, LCK_SOFT)) {
   case 2:
Index: trunk/Ohana/src/opihi/dvo/imdata.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/imdata.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/imdata.c	(revision 5945)
@@ -120,5 +120,5 @@
 
     /* get file name and open */
-    catalog.filename = (char *) skylist[0].regions[j][0].filename;
+    catalog.filename = skylist[0].filename[j];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/lcat.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/lcat.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/lcat.c	(revision 5945)
@@ -33,5 +33,5 @@
   for (i = 0; i < skylist[0].Nregions; i++) {
     exists = 'Y';
-    if (stat ((char *) skylist[0].regions[i][0].filename, &filestat) == -1) exists = 'N';
+    if (stat (skylist[0].filename[i], &filestat) == -1) exists = 'N';
     if (ShowAll) {
       fprintf (stderr, "%3d %s  %c\n", i, skylist[0].regions[i][0].name, exists);
Index: trunk/Ohana/src/opihi/dvo/lcurve.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/lcurve.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/lcurve.c	(revision 5945)
@@ -81,5 +81,5 @@
 
   /* set filename, read in header */
-  catalog.filename = (char *) skylist[0].regions[0][0].filename;
+  catalog.filename = skylist[0].filename[0];
   switch (lock_catalog (&catalog, LCK_SOFT)) {
   case 2:
Index: trunk/Ohana/src/opihi/dvo/lightcurve.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/lightcurve.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/lightcurve.c	(revision 5945)
@@ -57,5 +57,5 @@
 
   /* set filename, read in header */
-  catalog.filename = (char *) skylist[0].regions[0][0].filename;
+  catalog.filename = skylist[0].filename[0];
   switch (lock_catalog (&catalog, LCK_SOFT)) {
   case 2:
Index: trunk/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mextract.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/mextract.c	(revision 5945)
@@ -56,5 +56,5 @@
 
   for (i = 0; i < skylist[0].Nregions; i++) {
-    catalog.filename = (char *) skylist[0].regions[i][0].filename;
+    catalog.filename = skylist[0].filename[i];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/pmeasure.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/pmeasure.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/pmeasure.c	(revision 5945)
@@ -81,5 +81,5 @@
     
     /* lock, load, unlock catalog */
-    catalog.filename = (char *) skylist[0].regions[j][0].filename;
+    catalog.filename = skylist[0].filename[j];
     switch (lock_catalog (&catalog, LCK_SOFT)) {
     case 2:
Index: trunk/Ohana/src/opihi/dvo/region_list.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/region_list.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/region_list.c	(revision 5945)
@@ -96,7 +96,9 @@
     ALLOCATE (skylist[0].regions, SkyRegion *, 1);
     ALLOCATE (skylist[0].regions[0], SkyRegion, 1);
+    ALLOCATE (skylist[0].filename, char *, 1);
+    
     strcpy (skylist[0].regions[0][0].name, RegionName);
     sprintf (filename, "%s/%s.cpt", CATDIR, RegionName);
-    skylist[0].regions[0][0].filename = (e_void) strcreate (filename);
+    skylist[0].filename[0] = strcreate (filename);
     free (RegionName);
     RegionName = NULL;
@@ -142,4 +144,5 @@
   NREGIONS = 50;
   ALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS);
+  ALLOCATE (skylist[0].filename, char *, NREGIONS);
 
   while (fscanf (f, "%s", filename) != EOF) {
@@ -147,5 +150,5 @@
     strcpy (skylist[0].regions[Nregions][0].name, filename);
     sprintf (filename, "%s/%s.cpt", CATDIR, skylist[0].regions[Nregions][0].name);
-    skylist[0].regions[Nregions][0].filename = (e_void) strcreate (filename);
+    skylist[0].filename[Nregions] = strcreate (filename);
     Nregions ++;
     CHECK_REALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS, Nregions, 50);
Index: trunk/Ohana/src/opihi/dvo/skycat.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/skycat.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/skycat.c	(revision 5945)
@@ -63,5 +63,5 @@
 
   for (i = 0; i < Nregions; i++) {
-    if (ShowAll || (stat ((char *) regions[i][0].filename, &filestat) != -1)) {
+    if (ShowAll || (stat (skylist[0].filename[i], &filestat) != -1)) {
       if (VERBOSE) fprintf (stderr, "%3d %s %6.2f - %6.2f, %6.2f - %6.2f\n", i, regions[i][0].name, 
 			    regions[i][0].Rmin, regions[i][0].Rmax, regions[i][0].Dmin, regions[i][0].Dmax);
Index: trunk/Ohana/src/opihi/dvo/subpix.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/subpix.c	(revision 5943)
+++ trunk/Ohana/src/opihi/dvo/subpix.c	(revision 5945)
@@ -41,5 +41,5 @@
 
   /* lock, load, unlock catalog */
-  catalog.filename = (char *) skylist[0].regions[0][0].filename;
+  catalog.filename = skylist[0].filename[0];
   switch (lock_catalog (&catalog, LCK_SOFT)) {
   case 2:
