Index: trunk/pswarp/src/pswarpUpdateMetadata.c
===================================================================
--- trunk/pswarp/src/pswarpUpdateMetadata.c	(revision 40354)
+++ trunk/pswarp/src/pswarpUpdateMetadata.c	(revision 41510)
@@ -23,8 +23,8 @@
 
     if ((output)&&(output->analysis)) {    
-      psMetadataItem *refItem = psMetadataLookup(output->analysis, "REFERENCE_CATALOG");
-      if (refItem) {
-	refcat = psMetadataLookupStr (NULL, output->analysis, "REFERENCE_CATALOG");
-      }
+	psMetadataItem *refItem = psMetadataLookup(output->analysis, "REFERENCE_CATALOG");
+	if (refItem) {
+	    refcat = psMetadataLookupStr (NULL, output->analysis, "REFERENCE_CATALOG");
+	}
     }
     pmChip *chip;
@@ -47,5 +47,5 @@
             pmReadout *readout;
             while ((readout = pmFPAviewNextReadout(view, output, 1)) != NULL) {
-	      // skip empty output readouts
+		// skip empty output readouts
                 if (!readout->data_exists) continue;
     
@@ -57,19 +57,19 @@
 		    psArray *covars = psListToArray(covariances); // Array of covariance matrices
 		    if (covars->n) {
-		      psKernel *covar = psImageCovarianceAverage(covars);
-		      psMetadataRemoveKey(readout->analysis, PSWARP_ANALYSIS_COVARIANCES);
+			psKernel *covar = psImageCovarianceAverage(covars);
+			psMetadataRemoveKey(readout->analysis, PSWARP_ANALYSIS_COVARIANCES);
 
-		      // Correct covariance matrix scale for the mean (square root of the) Jacobian
-		      double jacobian = psMetadataLookupF64(NULL, readout->analysis, PSWARP_ANALYSIS_JACOBIAN); // Jacobian
-		      int goodPixels = psMetadataLookupS32(NULL, readout->analysis, PSWARP_ANALYSIS_GOODPIX);   // Good pixels
-		      jacobian /= goodPixels;
-		      readout->covariance = psImageCovarianceScale(covar, jacobian);
-		      psFree(covar);
+			// Correct covariance matrix scale for the mean (square root of the) Jacobian
+			double jacobian = psMetadataLookupF64(NULL, readout->analysis, PSWARP_ANALYSIS_JACOBIAN); // Jacobian
+			int goodPixels = psMetadataLookupS32(NULL, readout->analysis, PSWARP_ANALYSIS_GOODPIX);   // Good pixels
+			jacobian /= goodPixels;
+			readout->covariance = psImageCovarianceScale(covar, jacobian);
+			psFree(covar);
 
-		      if (readout->variance) {
-			psImageCovarianceTransfer(readout->variance, readout->covariance);
-		      }
+			if (readout->variance) {
+			    psImageCovarianceTransfer(readout->variance, readout->covariance);
+			}
 
-		      psFree(covars);
+			psFree(covars);
 		    }
 		}
@@ -94,7 +94,7 @@
 		psArray *chipnames = psMetadataLookupPtr(&status, readout->analysis, PSWARP_ANALYSIS_CHIPNAMES); 
 		for (int i = 0; chipnames && (i < chipnames->n); i++) {
-		  psStringAppend (&keyword, "SRC_%04d", i);
-		  psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "input image", chipnames->data[i]);
-		  psFree (keyword);
+		    psStringAppend (&keyword, "SRC_%04d", i);
+		    psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "input image", chipnames->data[i]);
+		    psFree (keyword);
 		}
 
@@ -102,7 +102,7 @@
 		psArray *chipRegions = psMetadataLookupPtr(&status, readout->analysis, PSWARP_ANALYSIS_CHIPREGIONS); 
 		for (int i = 0; chipRegions && (i < chipRegions->n); i++) {
-		  psStringAppend (&keyword, "SEC_%04d", i);
-		  psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "input image", chipRegions->data[i]);
-		  psFree (keyword);
+		    psStringAppend (&keyword, "SEC_%04d", i);
+		    psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "input image", chipRegions->data[i]);
+		    psFree (keyword);
 		}
 
@@ -110,15 +110,15 @@
 		psArray *backmaps  = psMetadataLookupPtr(&status, readout->analysis, PSWARP_ANALYSIS_BACKMAPS); // 
 		for (int i = 0; backmaps && (i < backmaps->n); i++) {
-		  psPlaneTransform *map = backmaps->data[i];		  
-		  psStringAppend (&keyword, "MPX_%04d", i);
-		  psStringAppend (&mapstring, "[%8.2f,%8.4f,%8.4f]", map->x->coeff[0][0], map->x->coeff[1][0], map->x->coeff[0][1]);
-		  psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "warp to image map", mapstring);
-		  psFree (keyword);
-		  psFree (mapstring);
-		  psStringAppend (&keyword, "MPY_%04d", i);
-		  psStringAppend (&mapstring, "[%8.2f,%8.4f,%8.4f]", map->y->coeff[0][0], map->y->coeff[1][0], map->y->coeff[0][1]);
-		  psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "warp to image map", mapstring);
-		  psFree (keyword);
-		  psFree (mapstring);
+		    psPlaneTransform *map = backmaps->data[i];		  
+		    psStringAppend (&keyword, "MPX_%04d", i);
+		    psStringAppend (&mapstring, "[%8.2f,%8.4f,%8.4f]", map->x->coeff[0][0], map->x->coeff[1][0], map->x->coeff[0][1]);
+		    psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "warp to image map", mapstring);
+		    psFree (keyword);
+		    psFree (mapstring);
+		    psStringAppend (&keyword, "MPY_%04d", i);
+		    psStringAppend (&mapstring, "[%8.2f,%8.4f,%8.4f]", map->y->coeff[0][0], map->y->coeff[1][0], map->y->coeff[0][1]);
+		    psMetadataAddStr(hdu->header, PS_LIST_TAIL, keyword, PS_META_REPLACE, "warp to image map", mapstring);
+		    psFree (keyword);
+		    psFree (mapstring);
 		}
 	    }
@@ -164,4 +164,5 @@
     if (!psMetadataCopy(output->concepts, input->concepts)) {
 	psError(psErrorCodeLast(), false, "Unable to copy FPA concepts from input to output.");
+	psFree(view);
 	return false;
     }
@@ -174,8 +175,8 @@
 
     if (refcat) {
-      if ((output)&&(output->hdu)&&(output->hdu->header)) {
-	psMetadataAddStr(output->hdu->header, PS_LIST_TAIL, "PSREFCAT", PS_META_REPLACE,
-			 "Reference catalog used for calibration", refcat);
-      }
+	if ((output)&&(output->hdu)&&(output->hdu->header)) {
+	    psMetadataAddStr(output->hdu->header, PS_LIST_TAIL, "PSREFCAT", PS_META_REPLACE,
+			     "Reference catalog used for calibration", refcat);
+	}
     }
     
@@ -193,4 +194,5 @@
     }
 
+    psFree(view);
     return true;
 }
