Changeset 19928 for trunk/ppImage/src/ppImageStatsOutput.c
- Timestamp:
- Oct 6, 2008, 12:24:10 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ppImage/src/ppImageStatsOutput.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppImage/src/ppImageStatsOutput.c
r18069 r19928 6 6 7 7 // write stats to output file 8 bool ppImageStatsOutput (pmConfig *config, const ppImageOptions *options) {9 8 bool ppImageStatsOutput(pmConfig *config, psMetadata *stats, const ppImageOptions *options) 9 { 10 10 bool mdok; 11 11 12 12 // measure statistics, or ignore? 13 if (!options->doStats) return true; 14 15 // PPIMAGE.STATS is stored on PPIMAGE.OUTPUT 16 pmFPAfile *output = psMetadataLookupPtr(&mdok, config->files, "PPIMAGE.OUTPUT"); 17 if (!output) { 18 psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find PPIMAGE.OUTPUT entry in config file.\n"); 19 return false; 20 } 21 22 // select the fpa-level analysis stats metadata: 23 psMetadata *stats = psMetadataLookupPtr (&mdok, output->fpa->analysis, "PPIMAGE.STATS"); 24 if (!stats) { 25 psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find PPIMAGE.STATS entry in output fpa analysis.\n"); 26 return false; 27 } 28 29 // convert the stats MDC to a string 30 char *statsMDC = psMetadataConfigFormat(stats); 31 if (!statsMDC || strlen(statsMDC) == 0) { 32 psError(PS_ERR_IO, false, "Unable to serialize stats metadata.\n"); 33 return false; 13 if (!options->doStats) { 14 return true; 34 15 } 35 16 … … 37 18 const char *statsName = psMetadataLookupStr(&mdok, config->arguments, "STATS"); // Filename for statistics 38 19 if (!statsName && !strlen(statsName)) { 39 psError (PS_ERR_UNEXPECTED_NULL, false, "missing STATS entry in arguments list."); 40 psFree(statsMDC); 20 psError(PS_ERR_UNEXPECTED_NULL, false, "missing STATS entry in arguments list."); 41 21 return false; 42 22 } 43 23 44 // convert to a real UNIX filename24 // Write out 45 25 psString resolved = pmConfigConvertFilename(statsName, config, true, true); // Resolved filename 46 FILE *statsFile = fopen (resolved, "w"); 47 if (!statsFile) { 48 psError(PS_ERR_IO, true, "Unable to open statistics file %s for writing.\n", resolved); 49 psFree(statsMDC); 26 if (!psMetadataConfigWrite(stats, resolved)) { 27 psError(PS_ERR_IO, false, "Unable to serialize stats metadata.\n"); 50 28 psFree(resolved); 51 29 return false; … … 53 31 psFree(resolved); 54 32 55 // write the stats MDC to a file56 // XXX why does this not call psMetadataConfigPrint?57 fprintf(statsFile, "%s", statsMDC);58 59 psFree(statsMDC);60 fclose(statsFile);61 33 return true; 62 34 }
Note:
See TracChangeset
for help on using the changeset viewer.
