Index: /trunk/psModules/src/config/pmConfig.c
===================================================================
--- /trunk/psModules/src/config/pmConfig.c	(revision 7816)
+++ /trunk/psModules/src/config/pmConfig.c	(revision 7817)
@@ -3,6 +3,6 @@
  *  @author PAP, IfA
  *
- *  @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-07-03 21:18:30 $
+ *  @version $Revision: 1.31 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-07-05 22:46:13 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -36,5 +36,5 @@
 }
 
-pmConfig *pmConfigAlloc(int argc, char **argv)
+pmConfig *pmConfigAlloc(int *argc, char **argv)
 {
     pmConfig *config = psAlloc(sizeof(pmConfig));
@@ -171,9 +171,10 @@
  *****************************************************************************/
 pmConfig *pmConfigRead(
-    int argc,
+    int *argc,
     char **argv)
 {
-    PS_ASSERT_INT_POSITIVE(argc, false);
-    PS_ASSERT_PTR_NON_NULL(argv, false);
+    PS_ASSERT_PTR_NON_NULL(argc, NULL);
+    PS_ASSERT_INT_POSITIVE(*argc, NULL);
+    PS_ASSERT_PTR_NON_NULL(argv, NULL);
 
     pmConfig *config = pmConfigAlloc(argc, argv); // The configuration, containing site, camera and recipes
@@ -188,5 +189,5 @@
     // First, try command line
     //
-    psS32 argNum = psArgumentGet(config->argc, config->argv, "-site");
+    psS32 argNum = psArgumentGet(*config->argc, config->argv, "-site");
     if (argNum != 0) {
         //
@@ -195,11 +196,11 @@
         // remove it as well.
         //
-        psArgumentRemove(argNum, &config->argc, config->argv);
-        if (argNum >= config->argc) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
             psLogMsg(__func__, PS_LOG_WARN,
                      "-site command-line switch provided without the required filename --- ignored.\n");
         } else {
             siteName = psStringCopy(config->argv[argNum]);
-            psArgumentRemove(argNum, &config->argc, config->argv);
+            psArgumentRemove(argNum, config->argc, config->argv);
         }
     }
@@ -255,8 +256,8 @@
     // file is read and parsed into psMetadata struct "camera".
     //
-    argNum = psArgumentGet(config->argc, config->argv, "-camera");
+    argNum = psArgumentGet(*config->argc, config->argv, "-camera");
     if (argNum > 0) {
-        psArgumentRemove(argNum, &config->argc, config->argv);
-        if (argNum >= config->argc) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
             psLogMsg(__func__, PS_LOG_WARN,
                      "-camera command-line switch provided without the required camera or filename --- "
@@ -282,5 +283,5 @@
 
             readConfig(&config->camera, cameraFile, "camera");
-            psArgumentRemove(argNum, &config->argc, config->argv);
+            psArgumentRemove(argNum, config->argc, config->argv);
         }
     }
@@ -330,8 +331,8 @@
 
 
-    argNum = psArgumentGet(config->argc, config->argv, "-log");
+    argNum = psArgumentGet(*config->argc, config->argv, "-log");
     if (argNum > 0) {
-        psArgumentRemove(argNum, &config->argc, config->argv);
-        if (argNum >= config->argc) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
             psLogMsg(__func__, PS_LOG_WARN,
                      "-log command-line switch provided without the required log destination --- ignored.\n");
@@ -341,5 +342,5 @@
                          config->argv[argNum]);
             }
-            psArgumentRemove(argNum, &config->argc, config->argv);
+            psArgumentRemove(argNum, config->argc, config->argv);
         }
     } else {
@@ -388,5 +389,5 @@
     //
     psS32 saveLogLevel = psLogGetLevel();
-    psArgumentVerbosity(&config->argc, config->argv);
+    psArgumentVerbosity(config->argc, config->argv);
     // XXX: substitute the string for the default log level for "2".
     if (2 == psLogGetLevel()) {
@@ -711,12 +712,12 @@
         // Go through the command-line arguments
         int argNum; // Argument number for "-recipe"
-        while ((argNum = psArgumentGet(config->argc, config->argv, "-recipe")) > 0) {
-            psArgumentRemove(argNum, &config->argc, config->argv);
-            if (argNum + 1 >= config->argc) {
+        while ((argNum = psArgumentGet(*config->argc, config->argv, "-recipe")) > 0) {
+            psArgumentRemove(argNum, config->argc, config->argv);
+            if (argNum + 1 >= *config->argc) {
                 psLogMsg(__func__, PS_LOG_WARN, "-recipe command-line switch provided without the "
                          "required recipe and source --- ignored.\n");
-                if (argNum == config->argc) {
+                if (argNum == *config->argc) {
                     // Remove the single last argument (we required two, they gave us one)
-                    psArgumentRemove(argNum, &config->argc, config->argv);
+                    psArgumentRemove(argNum, config->argc, config->argv);
                 }
                 continue;
@@ -724,7 +725,7 @@
 
             const char *recipeName = psStringCopy(config->argv[argNum]); // Name of the recipe
-            psArgumentRemove(argNum, &config->argc, config->argv);
+            psArgumentRemove(argNum, config->argc, config->argv);
             const char *recipeSource = psStringCopy(config->argv[argNum]); // Source of the recipe
-            psArgumentRemove(argNum, &config->argc, config->argv);
+            psArgumentRemove(argNum, config->argc, config->argv);
 
             // Command-line has the highest priority, so we don't have to check to see if it's already there
@@ -834,6 +835,7 @@
 psArray *pmConfigFileSets(pmConfig *config, char *file, char *list)
 {
-    PS_ASSERT_INT_NONNEGATIVE(config->argc, NULL);
     PS_ASSERT_PTR_NON_NULL(config, NULL);
+    PS_ASSERT_PTR_NON_NULL(config->argc, NULL);
+    PS_ASSERT_INT_NONNEGATIVE(*config->argc, NULL);
     PS_ASSERT_PTR_NON_NULL(config->argv, NULL);
     PS_ASSERT_PTR_NON_NULL(file, NULL);
@@ -851,10 +853,10 @@
     // maybe a comma-separated list of words
     // each word may be a glob: "file*.fits"
-    if ((Narg = psArgumentGet (config->argc, config->argv, file))) {
+    if ((Narg = psArgumentGet (*config->argc, config->argv, file))) {
 
         // select the word after 'file' and split by comma
-        psArgumentRemove (Narg, &config->argc, config->argv);
+        psArgumentRemove (Narg, config->argc, config->argv);
         psArray *words = psStringSplitArray (config->argv[Narg], ",", true);
-        psArgumentRemove (Narg, &config->argc, config->argv);
+        psArgumentRemove (Narg, config->argc, config->argv);
 
         // parse the word as a glob
@@ -879,5 +881,5 @@
 
     // load the list from the supplied text file
-    if ((Narg = psArgumentGet (config->argc, config->argv, list))) {
+    if ((Narg = psArgumentGet (*config->argc, config->argv, list))) {
         int nItems;
         char line[1024]; // XXX limits the list lines to 1024 chars
@@ -885,5 +887,5 @@
         char *filename;
 
-        psArgumentRemove (Narg, &config->argc, config->argv);
+        psArgumentRemove (Narg, config->argc, config->argv);
         FILE *f = fopen (config->argv[Narg], "r");
         if (f == NULL) {
@@ -906,5 +908,5 @@
             }
         }
-        psArgumentRemove (Narg, &config->argc, config->argv);
+        psArgumentRemove (Narg, config->argc, config->argv);
     }
 
@@ -915,13 +917,11 @@
 {
     PS_ASSERT_PTR_NON_NULL(metadata, false);
-    PS_ASSERT_PTR_NON_NULL(config, NULL);
-    PS_ASSERT_INT_NONNEGATIVE(config->argc, NULL);
-    PS_ASSERT_PTR_NON_NULL(config->argv, false);
+    PS_ASSERT_PTR_NON_NULL(config, false);
     PS_ASSERT_PTR_NON_NULL(name, false);
-    PS_ASSERT_INT_POSITIVE(strlen(name), NULL);
+    PS_ASSERT_INT_POSITIVE(strlen(name), false);
     PS_ASSERT_PTR_NON_NULL(file, false);
-    PS_ASSERT_INT_POSITIVE(strlen(file), NULL);
+    PS_ASSERT_INT_POSITIVE(strlen(file), false);
     PS_ASSERT_PTR_NON_NULL(list, false);
-    PS_ASSERT_INT_POSITIVE(strlen(list), NULL);
+    PS_ASSERT_INT_POSITIVE(strlen(list), false);
 
     psErrorClear();   // pmConfigFileSets may or may not call psError, so
@@ -934,5 +934,5 @@
     }
 
-    psMetadataAddPtr (metadata, PS_LIST_TAIL, name,  PS_DATA_ARRAY, "", files);
+    psMetadataAddPtr(metadata, PS_LIST_TAIL, name,  PS_DATA_ARRAY, "", files);
     psFree (files);
     return true;
Index: /trunk/psModules/src/config/pmConfig.h
===================================================================
--- /trunk/psModules/src/config/pmConfig.h	(revision 7816)
+++ /trunk/psModules/src/config/pmConfig.h	(revision 7817)
@@ -3,6 +3,6 @@
  *  @author PAP, IfA
  *
- *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-07-03 21:26:53 $
+ *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-07-05 22:46:13 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -33,5 +33,5 @@
     psMetadata *files;                  // pmFPAfiles used for analysis
     psDB *database;                     // Database handle
-    int argc;                           // Number of command-line arguments
+    int *argc;                          // Number of command-line arguments
     char **argv;                        // Command-line arguments (raw version)
     // Private members
@@ -41,5 +41,5 @@
 pmConfig;
 
-pmConfig *pmConfigAlloc(int argc,       // Number of command-line arguments
+pmConfig *pmConfigAlloc(int *argc,      // Number of command-line arguments
                         char **argv     // Command-line arguments
                        );
@@ -67,5 +67,5 @@
  */
 pmConfig *pmConfigRead(
-    int argc,
+    int *argc,
     char **argv);
 
