Changeset 7910 for trunk/ppStats/src/ppStatsLoop.c
- Timestamp:
- Jul 14, 2006, 3:58:46 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ppStats/src/ppStatsLoop.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStats/src/ppStatsLoop.c
r7903 r7910 6 6 7 7 8 static void get Headers(psMetadata *target, // Target for headers9 psMetadata *source, // Source header10 psListIterator *keywordsIter // Iterator for header keywords8 static void getMetadata(psMetadata *target, // Target for metadata 9 psMetadata *source, // Source for metadata 10 psListIterator *iterator // Iterator for keywords 11 11 ) 12 12 { 13 psListIteratorSet(keywordsIter, PS_LIST_HEAD); 14 psString keyword; // Header from iteration 15 while ((keyword = psListGetAndIncrement(keywordsIter))) { 16 psMetadataAddItem(target, psMetadataLookup(source, keyword), PS_LIST_TAIL, 0); 13 psListIteratorSet(iterator, PS_LIST_HEAD); 14 psString name; // Name from iteration 15 while ((name = psListGetAndIncrement(iterator))) { 16 psMetadataItem *item = psMetadataLookup(source, name); // Item of interest, or NULL 17 if (item) { 18 psMetadataAddItem(target, item, PS_LIST_TAIL, 0); 19 } 17 20 } 18 21 return; … … 26 29 psMetadata *fpaResults = psMetadataAlloc(); // Metadata to hold the FPA results 27 30 28 psListIterator *headersIter = psListIteratorAlloc(data->headers, PS_LIST_HEAD, false); // Headers iterator 29 31 // Iterators for the headers and concepts 32 psListIterator *headersIter = psListIteratorAlloc(data->headers, PS_LIST_HEAD, false); // Headers 33 psListIterator *conceptsIter = psListIteratorAlloc(data->concepts, PS_LIST_HEAD, false); // Concepts 30 34 31 35 // Iterate through the FPA … … 33 37 if (psListLength(data->headers) > 0 && fpa->hdu && pmFPAReadHeader(fpa, data->inFile)) { 34 38 pmHDU *hdu = fpa->hdu; // HDU for headers 35 getHeaders(fpaResults, hdu->header, headersIter); 39 getMetadata(fpaResults, hdu->header, headersIter); 40 } 41 if (psListLength(data->concepts) > 0 && 42 pmConceptsReadFPA(fpa, PM_CONCEPT_SOURCE_ALL, false, config->database)) { 43 getMetadata(fpaResults, fpa->concepts, conceptsIter); 36 44 } 37 45 … … 47 55 if (psListLength(data->headers) > 0 && chip->hdu && pmChipReadHeader(chip, data->inFile)) { 48 56 pmHDU *hdu = chip->hdu; // HDU for headers 49 getHeaders(chipResults, hdu->header, headersIter); 57 getMetadata(chipResults, hdu->header, headersIter); 58 } 59 if (psListLength(data->concepts) > 0 && 60 pmConceptsReadChip(chip, PM_CONCEPT_SOURCE_ALL, false, false, config->database)) { 61 getMetadata(chipResults, chip->concepts, conceptsIter); 50 62 } 51 63 … … 61 73 if (psListLength(data->headers) > 0 && cell->hdu && pmCellReadHeader(cell, data->inFile)) { 62 74 pmHDU *hdu = cell->hdu; // HDU for headers 63 get Headers(cellResults, hdu->header, headersIter);75 getMetadata(cellResults, hdu->header, headersIter); 64 76 psMetadataAdd(chipResults, PS_LIST_TAIL, cellName, PS_DATA_METADATA, 65 77 "Results for cell", cellResults); 78 } 79 if (psListLength(data->concepts) > 0 && 80 pmConceptsReadCell(cell, PM_CONCEPT_SOURCE_ALL, false, config->database)) { 81 getMetadata(cellResults, cell->concepts, conceptsIter); 66 82 } 67 83 … … 174 190 pmFPAFreeData(fpa); 175 191 psFree(headersIter); 192 psFree(conceptsIter); 176 193 177 194 psString output = psMetadataConfigFormat(fpaResults);
Note:
See TracChangeset
for help on using the changeset viewer.
