Index: /trunk/ippTools/src/Makefile.am
===================================================================
--- /trunk/ippTools/src/Makefile.am	(revision 6337)
+++ /trunk/ippTools/src/Makefile.am	(revision 6338)
@@ -13,4 +13,5 @@
     p2searchPendingFrames.c \
     p2updatePending.c \
+	pxconfig.c \
 	pxframes.c \
     pxtables.c
Index: /trunk/ippTools/src/pxconfig.c
===================================================================
--- /trunk/ippTools/src/pxconfig.c	(revision 6338)
+++ /trunk/ippTools/src/pxconfig.c	(revision 6338)
@@ -0,0 +1,49 @@
+#include "pxtools.h"
+
+static void pxConfigFree(pxConfig *ptr);
+
+pxConfig *pxConfigAlloc(void)
+{
+    pxConfig *config;
+
+    config = psAlloc(sizeof(pxConfig));
+    psMemSetDeallocator(config, (psFreeFunc)pxConfigFree);
+
+    config->mode            = 0;
+    config->start           = NULL;
+    config->stop            = NULL;
+    config->camera          = NULL;
+    config->camera_name     = NULL;
+    config->filter          = NULL;
+    config->database        = NULL;
+    config->site            = NULL;
+    config->recipe          = NULL;
+    config->arguments       = NULL;
+    config->exp_id          = NULL;
+    config->class           = NULL;
+    config->class_id        = NULL;
+    config->url             = NULL;
+    config->where           = NULL;
+
+    return config;
+}
+
+static void pxConfigFree(pxConfig *config)
+{
+    psFree(config->mode);
+    psFree(config->start);
+    psFree(config->stop);
+    psFree(config->camera);
+    psFree(config->camera_name);
+    psFree(config->filter);
+    psFree(config->database); 
+    psFree(config->site);
+    psFree(config->recipe);
+    psFree(config->arguments);
+    psFree(config->exp_id);
+    psFree(config->class);
+    psFree(config->class_id);
+    psFree(config->url);
+    psFree(config->where);
+    psFree(config);
+}
Index: /trunk/ippTools/src/pxtools.h
===================================================================
--- /trunk/ippTools/src/pxtools.h	(revision 6337)
+++ /trunk/ippTools/src/pxtools.h	(revision 6338)
@@ -97,4 +97,6 @@
 );
 
+pxConfig *pxConfigAlloc(void);
+
 bool pxCreateTables (pxConfig *config);
 bool pxDeleteTables (pxConfig *config);
Index: /trunk/ippTools/src/regtool.c
===================================================================
--- /trunk/ippTools/src/regtool.c	(revision 6337)
+++ /trunk/ippTools/src/regtool.c	(revision 6338)
@@ -11,16 +11,16 @@
 int main(int argc, char **argv)
 {
-    pxConfig        config; 
-
-    p0searchConfig(&config, argc, argv);
-
-    switch (config.mode) {
+    pxConfig *config = pxConfigAlloc();
+
+    p0searchConfig(config, argc, argv);
+
+    switch (config->mode) {
         case PX_MODE_PENDING:
-            if (!pendingMode(&config)) {
+            if (!pendingMode(config)) {
                 exit(EXIT_FAILURE);
             }
             break;
         case PX_MODE_UPDATE:
-            if (!updateMode(&config)) {
+            if (!updateMode(config)) {
                 exit(EXIT_FAILURE);
             }
Index: /trunk/ippTools/src/regtoolConfig.c
===================================================================
--- /trunk/ippTools/src/regtoolConfig.c	(revision 6337)
+++ /trunk/ippTools/src/regtoolConfig.c	(revision 6338)
@@ -5,15 +5,4 @@
 bool p0searchConfig(pxConfig *config, int argc, char **argv) {
     PS_ASSERT_PTR_NON_NULL(config, false);
-
-    // Parse the configurations (re-org a la ppImage)
-    config->site    = NULL;             // Site configuration
-    config->camera  = NULL;             // Camera configuration (unused)
-    config->recipe  = NULL;             // Recipe configuration
-    config->camera_name = NULL;         // Camera name
-    config->filter  = NULL;             // Filter name
-    config->exp_id  = NULL;             // Exposure ID
-    config->class   = NULL;             
-    config->class_id = NULL;           
-    config->url     = NULL;
 
     if (! pmConfigRead(&config->site, &config->camera, &config->recipe, &argc, argv, RECIPE)) {
