Index: /trunk/ppMerge/src/ppMergeConfig.c
===================================================================
--- /trunk/ppMerge/src/ppMergeConfig.c	(revision 15291)
+++ /trunk/ppMerge/src/ppMergeConfig.c	(revision 15292)
@@ -14,5 +14,5 @@
 // Output usage information
 static void usage(const char *programName, // Name of the program
-                  pmConfig *config      // Configuration (contains the arguments list)
+                  psMetadata *arguments // Arguments list
     )
 {
@@ -21,5 +21,6 @@
            "\t%s OUTPUT.fits INPUT1.fits INPUT2.fits ...\n"
            "\n", programName);
-    psArgumentHelp(config->arguments);
+    psArgumentHelp(arguments);
+    psFree(arguments);
     exit(EXIT_FAILURE);
 }
@@ -34,19 +35,21 @@
     }
 
-    // Command-line arguments
-    psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-type", 0, "Type of calibration frame", "");
-    psMetadataAddBool(config->arguments, PS_LIST_TAIL, "-zero", 0, "Subtract background?", false);
-    psMetadataAddBool(config->arguments, PS_LIST_TAIL, "-scale", 0, "Scale by background?", false);
-    psMetadataAddBool(config->arguments, PS_LIST_TAIL, "-exptime", 0, "Scale by the exposure time?", false);
-    psMetadataAddS32(config->arguments, PS_LIST_TAIL, "-onoff", 0, "Number of on/off pairs", 0);
-    psMetadataAddStr(config->arguments, PS_LIST_TAIL, "-stats", 0, "MDC file to hold statistics ", NULL);
+    psMetadata *arguments = psMetadataAlloc(); // Command-line arguments
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-type", 0, "Type of calibration frame", "");
+    psMetadataAddBool(arguments, PS_LIST_TAIL, "-zero", 0, "Subtract background?", false);
+    psMetadataAddBool(arguments, PS_LIST_TAIL, "-scale", 0, "Scale by background?", false);
+    psMetadataAddBool(arguments, PS_LIST_TAIL, "-exptime", 0, "Scale by the exposure time?", false);
+    psMetadataAddS32(arguments, PS_LIST_TAIL, "-onoff", 0, "Number of on/off pairs", 0);
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-stats", 0, "MDC file to hold statistics ", NULL);
 
     if (argc == 1) {
-        usage(argv[0], config);
+        psFree(config);
+        usage(argv[0], arguments);
     }
 
     // Parse the arguments
-    if (! psArgumentParse(config->arguments, &argc, argv) || argc < 3) {
-        usage(argv[0], config);
+    if (!psArgumentParse(arguments, &argc, argv) || argc < 3) {
+        psFree(config);
+        usage(argv[0], arguments);
     }
 
@@ -54,4 +57,6 @@
     psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image",
                      argv[1]);
+
+    psMetadataCopy(config->arguments, arguments);
 
     // Everything remaining must be input files
