Index: trunk/psastro/src/psastroParseCamera.c
===================================================================
--- trunk/psastro/src/psastroParseCamera.c	(revision 9374)
+++ trunk/psastro/src/psastroParseCamera.c	(revision 9574)
@@ -1,4 +1,3 @@
 # include "psastro.h"
-// XXX leak free 2006.04.27
 
 bool psastroParseCamera (pmConfig *config) {
@@ -8,5 +7,8 @@
     // the input image(s) are required arguments; they define the camera
     pmFPAfile *input = pmFPAfileDefineFromArgs (&status, config, "PSASTRO.INPUT", "INPUT");
-    if (!status) { psAbort (__func__, "missing INPUT entry"); }
+    if (!status) {
+	psError(PSASTRO_ERR_CONFIG, false, "Failed to build FPA from PSASTRO.INPUT");
+	return false;
+    }
 
     // select recipe options supplied on command line
@@ -30,6 +32,6 @@
 	    int chipNum = atoi(chips->data[i]);
 	    if (! pmFPASelectChip(input->fpa, chipNum, false)) {
-		psErrorStackPrint(stderr, "Chip number %d doesn't exist in camera.\n", chipNum);
-		exit(EXIT_FAILURE);
+		psError(PSASTRO_ERR_CONFIG, true, "Chip number %d doesn't exist in camera.\n", chipNum);
+		return false;
 	    }
         }
@@ -37,5 +39,5 @@
     psFree (chips);
 
-    psTrace(__func__, 1, "Done with psastroParseCamera...\n");
+    psTrace("psastro", 1, "Done with psastroParseCamera...\n");
     return true;
 }
