Index: /trunk/psModules/src/config/pmConfigDump.c
===================================================================
--- /trunk/psModules/src/config/pmConfigDump.c	(revision 19041)
+++ /trunk/psModules/src/config/pmConfigDump.c	(revision 19042)
@@ -60,5 +60,5 @@
 }
 
-bool pmConfigCamerasCull(pmConfig *config)
+bool pmConfigCamerasCull(pmConfig *config, const char *additional)
 {
       PS_ASSERT_PTR_NON_NULL(config, false);
@@ -70,10 +70,30 @@
       }
 
-      // Get names of the root camera and its derivatives
-      psArray *keep = psArrayAlloc(4);
-      keep->data[0] = pmConfigCameraRootName(config->cameraName);
-      keep->data[1] = pmConfigCameraChipName(config->cameraName);
-      keep->data[2] = pmConfigCameraFPAName(config->cameraName);
-      keep->data[3] = pmConfigCameraSkycellName(config->cameraName);
+      psArray *keep = NULL;             // List of cameras to keep
+      if (additional) {
+          keep = psStringSplitArray(additional, " ,;", false);
+      }
+      psArrayAdd(keep, 1, config->cameraName);
+
+      int numKeep = keep->n;            // Number of cameras to keep
+      for (int i = 0; i < numKeep; i++) {
+          psString orig = keep->data[i];// Original name
+          psString root = pmConfigCameraRootName(orig); // Camera root name
+          psString chip = pmConfigCameraChipName(config->cameraName); // Chip-mosaicked name
+          psString fpa  = pmConfigCameraFPAName(config->cameraName); // FPA-mosaicked name
+          psString sky  = pmConfigCameraSkycellName(config->cameraName); // Skycell name
+
+          // Just in case we weren't given the root name
+          psFree(keep->data[i]);
+          keep->data[i] = root;
+
+          psArrayAdd(keep, 1, chip);
+          psArrayAdd(keep, 1, fpa);
+          psArrayAdd(keep, 1, sky);
+
+          psFree(chip);
+          psFree(fpa);
+          psFree(sky);
+      }
 
       bool result = configCull(cameras, keep); // Result of culling
Index: /trunk/psModules/src/config/pmConfigDump.h
===================================================================
--- /trunk/psModules/src/config/pmConfigDump.h	(revision 19041)
+++ /trunk/psModules/src/config/pmConfigDump.h	(revision 19042)
@@ -4,6 +4,6 @@
  *  @author Paul Price, IfA
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2008-08-05 02:16:06 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2008-08-13 02:32:35 $
  *  Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -24,5 +24,6 @@
 
 /// Cull cameras from the configuration file, apart from the one in use
-bool pmConfigCamerasCull(pmConfig *config ///< Configuration
+bool pmConfigCamerasCull(pmConfig *config, ///< Configuration
+                         const char *additional ///< List of additional cameras to save, comma-separated
     );
 
