Index: trunk/psModules/src/config/pmConfig.c
===================================================================
--- trunk/psModules/src/config/pmConfig.c	(revision 10623)
+++ trunk/psModules/src/config/pmConfig.c	(revision 10882)
@@ -4,6 +4,6 @@
  *  @author EAM (IfA)
  *
- *  @version $Revision: 1.68 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-12-11 20:59:48 $
+ *  @version $Revision: 1.69 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-01-03 02:58:38 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -456,4 +456,92 @@
     pmConfigLoadRecipeOptions (config, "-Db");
 
+
+    // check for values that override DB* keywords
+    argNum = psArgumentGet(*config->argc, config->argv, "-dbserver");
+    if (argNum > 0) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
+            psLogMsg("psModules.config", PS_LOG_WARN,
+                     "-dbserver command-line switch provided without the required server name --- ");
+        } else {
+            char *dbserver = config->argv[argNum]; // The camera configuration file to read
+            if (!psMetadataAddStr(config->site, PS_LIST_TAIL, "DBSERVER", PS_META_REPLACE, NULL, dbserver)) {
+                psLogMsg("psModules.config", PS_LOG_WARN,
+                         "failed to overwrite .ipprc DBSERVER value --- ");
+            }
+
+            psArgumentRemove(argNum, config->argc, config->argv);
+        }
+    }
+
+    argNum = psArgumentGet(*config->argc, config->argv, "-dbname");
+    if (argNum > 0) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
+            psLogMsg("psModules.config", PS_LOG_WARN,
+                     "-dbname command-line switch provided without the required database name --- ");
+        } else {
+            char *dbname = config->argv[argNum]; // The camera configuration file to read
+            if (!psMetadataAddStr(config->site, PS_LIST_TAIL, "DBNAME", PS_META_REPLACE, NULL, dbname)) {
+                psLogMsg("psModules.config", PS_LOG_WARN,
+                         "failed to overwrite .ipprc DBNAME value --- ");
+            }
+
+            psArgumentRemove(argNum, config->argc, config->argv);
+        }
+    }
+
+    argNum = psArgumentGet(*config->argc, config->argv, "-dbuser");
+    if (argNum > 0) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
+            psLogMsg("psModules.config", PS_LOG_WARN,
+                     "-dbuser command-line switch provided without the required database name --- ");
+        } else {
+            char *dbuser = config->argv[argNum]; // The camera configuration file to read
+            if (!psMetadataAddStr(config->site, PS_LIST_TAIL, "DBUSER", PS_META_REPLACE, NULL, dbuser)) {
+                psLogMsg("psModules.config", PS_LOG_WARN,
+                         "failed to overwrite .ipprc DBUSER value --- ");
+            }
+
+            psArgumentRemove(argNum, config->argc, config->argv);
+        }
+    }
+
+    argNum = psArgumentGet(*config->argc, config->argv, "-dbpassword");
+    if (argNum > 0) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
+            psLogMsg("psModules.config", PS_LOG_WARN,
+                     "-dbpassword command-line switch provided without the required password --- ");
+        } else {
+            char *dbpassword = config->argv[argNum]; // The camera configuration file to read
+            if (!psMetadataAddStr(config->site, PS_LIST_TAIL, "DBPASSWORD", PS_META_REPLACE, NULL, dbpassword)) {
+                psLogMsg("psModules.config", PS_LOG_WARN,
+                         "failed to overwrite .ipprc DBPASSWORD value --- ");
+            }
+
+            psArgumentRemove(argNum, config->argc, config->argv);
+        }
+    }
+
+    argNum = psArgumentGet(*config->argc, config->argv, "-dbport");
+    if (argNum > 0) {
+        psArgumentRemove(argNum, config->argc, config->argv);
+        if (argNum >= *config->argc) {
+            psLogMsg("psModules.config", PS_LOG_WARN,
+                     "-dbpport command-line switch provided without the required port number --- ");
+        } else {
+            char *dbport = config->argv[argNum]; // The camera configuration file to read
+            if (!psMetadataAddS32(config->site, PS_LIST_TAIL, "DBPORT", PS_META_REPLACE, NULL, (psS32)atoi(dbport))) {
+                psLogMsg("psModules.config", PS_LOG_WARN,
+                         "failed to overwrite .ipprc DBPORT value --- ");
+            }
+
+            psArgumentRemove(argNum, config->argc, config->argv);
+        }
+    }
+
+
     psErrorClear();   // we may have failed to find some items in the metadata
 
