Index: trunk/psphot/src/psphotArguments.c
===================================================================
--- trunk/psphot/src/psphotArguments.c	(revision 7677)
+++ trunk/psphot/src/psphotArguments.c	(revision 7818)
@@ -13,5 +13,5 @@
 
     // load config data from default locations
-    pmConfig *config = pmConfigRead(argc, argv);
+    pmConfig *config = pmConfigRead(&argc, argv);
     if (config == NULL) {
         psError(PSPHOT_ERR_CONFIG, false, "Can't find site configuration");
@@ -29,83 +29,83 @@
 
     // run the test model (requires X,Y coordinate)
-    if ((N = psArgumentGet (config->argc, config->argv, "-modeltest"))) {
+    if ((N = psArgumentGet (argc, argv, "-modeltest"))) {
         psMetadataAddBool (options, PS_LIST_TAIL, "TEST_FIT",   0, "", true);
         psMetadataAddF32  (options, PS_LIST_TAIL, "TEST_FIT_X", 0, "", atof(argv[N+1]));
         psMetadataAddF32  (options, PS_LIST_TAIL, "TEST_FIT_Y", 0, "", atof(argv[N+2]));
 
-        psArgumentRemove (N, &config->argc, config->argv);
-        psArgumentRemove (N, &config->argc, config->argv);
-        psArgumentRemove (N, &config->argc, config->argv);
+        psArgumentRemove (N, &argc, argv);
+        psArgumentRemove (N, &argc, argv);
+        psArgumentRemove (N, &argc, argv);
 
         // specify the modeltest model
-        if ((N = psArgumentGet (config->argc, config->argv, "-model"))) {
-            psArgumentRemove (N, &config->argc, config->argv);
-            psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODEL", 0, "", config->argv[N]);
-            psArgumentRemove (N, &config->argc, config->argv);
+        if ((N = psArgumentGet (argc, argv, "-model"))) {
+            psArgumentRemove (N, &argc, argv);
+            psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODEL", 0, "", argv[N]);
+            psArgumentRemove (N, &argc, argv);
         }
 
         // specify the test fit mode
-        if ((N = psArgumentGet (config->argc, config->argv, "-fitmode"))) {
-            psArgumentRemove (N, &config->argc, config->argv);
-            psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODE", 0, "", config->argv[N]);
-            psArgumentRemove (N, &config->argc, config->argv);
+        if ((N = psArgumentGet (argc, argv, "-fitmode"))) {
+            psArgumentRemove (N, &argc, argv);
+            psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_MODE", 0, "", argv[N]);
+            psArgumentRemove (N, &argc, argv);
         }
-        if ((N = psArgumentGet (config->argc, config->argv, "-fitset"))) {
-            psArgumentRemove (N, &config->argc, config->argv);
-            psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_SET", 0, "", config->argv[N]);
-            psArgumentRemove (N, &config->argc, config->argv);
+        if ((N = psArgumentGet (argc, argv, "-fitset"))) {
+            psArgumentRemove (N, &argc, argv);
+            psMetadataAddStr (options, PS_LIST_TAIL, "TEST_FIT_SET", 0, "", argv[N]);
+            psArgumentRemove (N, &argc, argv);
         }
     }
 
     // photcode : used in output to supplement header data (argument or recipe?)
-    if ((N = psArgumentGet (config->argc, config->argv, "-photcode"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", config->argv[N]);
-        psArgumentRemove (N, &config->argc, config->argv);
+    if ((N = psArgumentGet (argc, argv, "-photcode"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddStr (options, PS_LIST_TAIL, "PHOTCODE", PS_META_REPLACE, "", argv[N]);
+        psArgumentRemove (N, &argc, argv);
     }
 
     // break : used from recipe throughout psphotReadout
-    if ((N = psArgumentGet (config->argc, config->argv, "-break"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddStr (options, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", config->argv[N]);
-        psArgumentRemove (N, &config->argc, config->argv);
+    if ((N = psArgumentGet (argc, argv, "-break"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddStr (options, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", argv[N]);
+        psArgumentRemove (N, &argc, argv);
     }
 
     // fitmode : used from recipe throughout psphotReadout
-    if ((N = psArgumentGet (config->argc, config->argv, "-fitmode"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddStr (options, PS_LIST_TAIL, "FITMODE", PS_META_REPLACE, "", config->argv[N]);
-        psArgumentRemove (N, &config->argc, config->argv);
+    if ((N = psArgumentGet (argc, argv, "-fitmode"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddStr (options, PS_LIST_TAIL, "FITMODE", PS_META_REPLACE, "", argv[N]);
+        psArgumentRemove (N, &argc, argv);
     }
 
     // analysis region : overrides recipe value, used in psphotReadout/psphotEnsemblePSF
-    if ((N = psArgumentGet (config->argc, config->argv, "-region"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddStr (options, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "", config->argv[N]);
-        psArgumentRemove (N, &config->argc, config->argv);
+    if ((N = psArgumentGet (argc, argv, "-region"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddStr (options, PS_LIST_TAIL, "ANALYSIS_REGION", 0, "", argv[N]);
+        psArgumentRemove (N, &argc, argv);
     }
 
     // other arbitrary recipe values: -D key value (all added as string)
-    while ((N = psArgumentGet (config->argc, config->argv, "-D"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddStr (options, PS_LIST_TAIL, config->argv[N], 0, "", config->argv[N+1]);
-        psArgumentRemove (N, &config->argc, config->argv);
-        psArgumentRemove (N, &config->argc, config->argv);
+    while ((N = psArgumentGet (argc, argv, "-D"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddStr (options, PS_LIST_TAIL, argv[N], 0, "", argv[N+1]);
+        psArgumentRemove (N, &argc, argv);
+        psArgumentRemove (N, &argc, argv);
     }
 
     // other arbitrary recipe values: -Df key value (all added as float)
-    while ((N = psArgumentGet (config->argc, config->argv, "-Df"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddF32 (options, PS_LIST_TAIL, config->argv[N], 0, "", atof(config->argv[N+1]));
-        psArgumentRemove (N, &config->argc, config->argv);
-        psArgumentRemove (N, &config->argc, config->argv);
+    while ((N = psArgumentGet (argc, argv, "-Df"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddF32 (options, PS_LIST_TAIL, argv[N], 0, "", atof(argv[N+1]));
+        psArgumentRemove (N, &argc, argv);
+        psArgumentRemove (N, &argc, argv);
     }
 
     // other arbitrary recipe values: -Di key value (all added as int)
-    while ((N = psArgumentGet (config->argc, config->argv, "-Di"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddS32 (options, PS_LIST_TAIL, config->argv[N], 0, "", atoi(config->argv[N+1]));
-        psArgumentRemove (N, &config->argc, config->argv);
-        psArgumentRemove (N, &config->argc, config->argv);
+    while ((N = psArgumentGet (argc, argv, "-Di"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddS32 (options, PS_LIST_TAIL, argv[N], 0, "", atoi(argv[N+1]));
+        psArgumentRemove (N, &argc, argv);
+        psArgumentRemove (N, &argc, argv);
     }
 
@@ -121,17 +121,17 @@
 
     // chip selection is used to limit chips to be processed
-    if ((N = psArgumentGet (config->argc, config->argv, "-chip"))) {
-        psArgumentRemove (N, &config->argc, config->argv);
-        psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", psStringCopy(config->argv[N]));
-        psArgumentRemove (N, &config->argc, config->argv);
+    if ((N = psArgumentGet (argc, argv, "-chip"))) {
+        psArgumentRemove (N, &argc, argv);
+        psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "", psStringCopy(argv[N]));
+        psArgumentRemove (N, &argc, argv);
     }
 
-    if (config->argc != 2) {
-        psError(PSPHOT_ERR_ARGUMENTS, true, "Expected to see one more argument; saw %d", config->argc - 1);
+    if (argc != 2) {
+        psError(PSPHOT_ERR_ARGUMENTS, true, "Expected to see one more argument; saw %d", argc - 1);
         return NULL;
     }
 
     // output position is fixed
-    psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "", config->argv[1]);
+    psMetadataAddStr (config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "", argv[1]);
 
     psTrace(__func__, 1, "Done with psphotArguments...\n");
