Index: trunk/ppMerge/src/ppMergeConfig.c
===================================================================
--- trunk/ppMerge/src/ppMergeConfig.c	(revision 7355)
+++ trunk/ppMerge/src/ppMergeConfig.c	(revision 7698)
@@ -19,5 +19,5 @@
 }
 
-pmConfig *ppMergeConfig(int *argc, char **argv)
+pmConfig *ppMergeConfig(int argc, char **argv)
 {
     pmConfig *config = pmConfigRead(argc, argv);
@@ -36,26 +36,27 @@
     psMetadataAddS32(config->arguments, PS_LIST_TAIL, "-onoff", 0, "Number of on/off pairs", 0);
 
-    if (*argc == 1) {
-        usage(argv[0], config);
+    if (config->argc == 1) {
+        usage(config->argv[0], config);
     }
 
     // Parse the arguments
-    if (! psArgumentParse(config->arguments, argc, argv) || *argc < 3) {
-        usage(argv[0], config);
+    if (! psArgumentParse(config->arguments, &config->argc, config->argv) || config->argc < 3) {
+        usage(config->argv[0], config);
     }
 
     // Add the output image to the arguments list
-    psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image", argv[1]);
+    psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image",
+                     config->argv[1]);
 
     // Everything remaining must be input files
-    if (*argc - 2 <= 1) {
+    if (config->argc - 2 <= 1) {
         psError(PS_ERR_IO, true, "No files to combine.\n");
         exit(EXIT_FAILURE);
     }
-    psArray *files = psArrayAlloc(*argc - 2);
-    for (int i = 2; i < *argc; i++) {
-        files->data[i - 2] = psStringCopy(argv[i]);
+    psArray *files = psArrayAlloc(config->argc - 2);
+    for (int i = 2; i < config->argc; i++) {
+        files->data[i - 2] = psStringCopy(config->argv[i]);
     }
-    files->n = *argc - 2;
+    files->n = config->argc - 2;
     psMetadataAddPtr(config->arguments, PS_LIST_TAIL, "INPUT", PS_DATA_ARRAY,
                      "Array of inputs images", files);
