Index: trunk/ppStack/src/ppStackArguments.c
===================================================================
--- trunk/ppStack/src/ppStackArguments.c	(revision 18559)
+++ trunk/ppStack/src/ppStackArguments.c	(revision 18650)
@@ -40,5 +40,5 @@
 // Get a float-point value from the command-line or recipe, and add it to the arguments
 #define VALUE_ARG_RECIPE_FLOAT(ARGNAME, RECIPENAME, TYPE) { \
-    ps##TYPE value = psMetadataLookup##TYPE(NULL, arguments, ARGNAME); \
+    ps##TYPE value = psMetadataLookup##TYPE(NULL, config->arguments, ARGNAME); \
     if (isnan(value)) { \
         bool mdok; \
@@ -55,5 +55,5 @@
 // Get an integer value from the command-line or recipe, and add it to the arguments
 #define VALUE_ARG_RECIPE_INT(ARGNAME, RECIPENAME, TYPE, UNSET) { \
-    ps##TYPE value = psMetadataLookup##TYPE(NULL, arguments, ARGNAME); \
+    ps##TYPE value = psMetadataLookup##TYPE(NULL, config->arguments, ARGNAME); \
     if (value == UNSET) { \
         bool mdok; \
@@ -71,5 +71,5 @@
 #define VALUE_ARG_RECIPE_MASK(ARGNAME, RECIPENAME) { \
     bool mdok; \
-    const char *name = psMetadataLookupStr(&mdok, arguments, ARGNAME); \
+    const char *name = psMetadataLookupStr(&mdok, config->arguments, ARGNAME); \
     if (!mdok || !name || strlen(name) == 0) { \
         name = psMetadataLookupStr(NULL, recipe, RECIPENAME); \
@@ -86,5 +86,5 @@
 // Get a statistic name from the command-line or recipe, and add the enum to the arguments
 #define VALUE_ARG_RECIPE_STAT(ARGNAME, RECIPENAME) { \
-    const char *stat = psMetadataLookupStr(NULL, arguments, ARGNAME); \
+    const char *stat = psMetadataLookupStr(NULL, config->arguments, ARGNAME); \
     if (!stat) { \
         stat = psMetadataLookupStr(NULL, recipe, RECIPENAME); \
@@ -132,5 +132,5 @@
 }
 
-bool ppStackArguments(int argc, char *argv[], pmConfig *config)
+bool ppStackArgumentsSetup(int argc, char *argv[], pmConfig *config)
 {
     assert(config);
@@ -139,5 +139,5 @@
     pmConfigFileSetsMD(config->arguments, &argc, argv, "PPSTACK.SOURCES", "-sources", NULL);
 
-    psMetadata *arguments = psMetadataAlloc(); // Command-line arguments
+    psMetadata *arguments = config->arguments; // Command-line arguments
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-stamps", 0, "Stamps file with x,y,flux per line", NULL);
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-stats", 0, "Statistics file", NULL);
@@ -184,5 +184,5 @@
     if (!inputs || numBad > 0) {
         psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Unable to cleanly read MDC file with inputs.");
-        goto ERROR;
+        return false;
     }
     psMetadataAddMetadata(config->arguments, PS_LIST_TAIL, "INPUTS", 0,
@@ -193,4 +193,13 @@
 
     valueArgStr(arguments, "-stats", "STATS", config->arguments);
+
+    return true;
+}
+
+bool ppStackArgumentsParse(pmConfig *config)
+{
+    assert(config);
+
+    psMetadata *arguments = config->arguments; // Command-line arguments
 
     psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, PPSTACK_RECIPE); // Recipe for ppSim
