Index: trunk/pswarp/src/pswarpParseCamera.c
===================================================================
--- trunk/pswarp/src/pswarpParseCamera.c	(revision 12771)
+++ trunk/pswarp/src/pswarpParseCamera.c	(revision 13528)
@@ -10,5 +10,5 @@
     status = false;
     pmFPAfile *input = pmFPAfileDefineFromArgs (&status, config, "PSWARP.INPUT", "INPUT");
-    if (!input) {
+    if (!input || !status) {
         psError(PSWARP_ERR_CONFIG, false, "Failed to build FPA from PSWARP.INPUT");
         return false;
@@ -17,6 +17,10 @@
     // the input image(s) are required arguments; they define the camera
     status = false;
-    pmFPAfileDefineFromArgs (&status, config, "PSWARP.ASTROM", "ASTROM");
-    if (status) {
+    pmFPAfile *astrom = pmFPAfileDefineFromArgs (&status, config, "PSWARP.ASTROM", "ASTROM");
+    if (!status) {
+	psError (PS_ERR_UNKNOWN, false, "failed to load find definition");
+	return NULL;
+    }
+    if (astrom) {
         psLogMsg ("pswarp", 3, "using supplied astrometry\n");
     } else {
@@ -25,10 +29,18 @@
 
     // the mask is not required - but must conform to input camera
-    pmFPAfile *inMask = pmFPAfileBindFromArgs(NULL, input, config, "PSWARP.MASK", "MASK");
+    pmFPAfile *inMask = pmFPAfileBindFromArgs(&status, input, config, "PSWARP.MASK", "MASK");
+    if (!status) {
+	psError (PS_ERR_UNKNOWN, false, "failed to load find definition");
+	return NULL;
+    }
     if (!inMask) {
         psLogMsg ("pswarp", 3, "no mask supplied\n");
     }
 
-    pmFPAfile *inWeight = pmFPAfileBindFromArgs(NULL, input, config, "PSWARP.WEIGHT", "WEIGHT");
+    pmFPAfile *inWeight = pmFPAfileBindFromArgs(&status, input, config, "PSWARP.WEIGHT", "WEIGHT");
+    if (!status) {
+	psError (PS_ERR_UNKNOWN, false, "failed to load find definition");
+	return NULL;
+    }
     if (!inWeight) {
         psLogMsg ("pswarp", 3, "no weight supplied\n");
