Index: branches/pap/psastro/src/psastroMetadataStats.c
===================================================================
--- branches/pap/psastro/src/psastroMetadataStats.c	(revision 23511)
+++ branches/pap/psastro/src/psastroMetadataStats.c	(revision 23638)
@@ -13,5 +13,5 @@
 # include "psastroInternal.h"
 
-bool psastroMetadataStats (pmConfig *config) {
+bool psastroMetadataStats (pmConfig *config, psMetadata *stats) {
 
     bool status;
@@ -24,27 +24,24 @@
 
     if (!output) {
-	psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find output file (PSASTRO.OUTPUT).");
-	return false;
+        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find output file (PSASTRO.OUTPUT).");
+        return false;
     }
 
-    // create output stats metadata
-    psMetadata *stats = psMetadataAlloc ();
-
-    // extract stats for the complete fpa 
+    // extract stats for the complete fpa
     pmFPAview *view = pmFPAviewAlloc(0);
 
     if (!ppStatsMetadata(stats, output->fpa, view, 0, config)) {
-	psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to generate stats for image.");
-	psFree(view);
-	psFree(stats);
-	return false;
+        psError(PS_ERR_UNEXPECTED_NULL, false, "Unable to generate stats for image.");
+        psFree(view);
+        psFree(stats);
+        return false;
     }
 
     // if we did not request any specific stats, the structure is empty
     if (stats && stats->list->n == 0) {
-	psWarning ("stats output specified, but no requested stats entries in headers");
-	psFree(view);
-	psFree(stats);
-	return true;
+        psWarning ("stats output specified, but no requested stats entries in headers");
+        psFree(view);
+        psFree(stats);
+        return true;
     }
 
@@ -52,7 +49,7 @@
     char *statsMDC = psMetadataConfigFormat(stats);
     if (!statsMDC || strlen(statsMDC) == 0) {
-	psError(PS_ERR_IO, false, "Unable to serialize stats metadata.\n");
-	return false;
-    } 
+        psError(PS_ERR_IO, false, "Unable to serialize stats metadata.\n");
+        return false;
+    }
 
     // convert to a real UNIX filename
@@ -60,10 +57,10 @@
     FILE *statsFile = fopen (resolved, "w");
     if (!statsFile) {
-	psError(PS_ERR_IO, true, "Unable to open statistics file %s for writing.\n", resolved);
-	psFree(stats);
-	psFree(view);
-	psFree(statsMDC);
-	psFree(resolved);
-	return false;
+        psError(PS_ERR_IO, true, "Unable to open statistics file %s for writing.\n", resolved);
+        psFree(stats);
+        psFree(view);
+        psFree(statsMDC);
+        psFree(resolved);
+        return false;
     }
 
