2b3c259e853148c4532ea3c8154b51bb7662268b kent Tue Apr 26 23:23:42 2011 -0700 Adding raTagVals function. diff --git src/lib/ra.c src/lib/ra.c index 9ac4968..dabade1 100644 --- src/lib/ra.c +++ src/lib/ra.c @@ -375,15 +375,34 @@ } if (filterValue != NULL && differentString(filterValue,filter)) { hashFree(&hash); continue; } } hashAdd(bigHash, key, hash); } lineFileClose(&lf); if (hashNumEntries(bigHash) == 0) hashFree(&bigHash); return bigHash; } +struct hash *raTagVals(char *fileName, char *tag) +/* Return a hash of all values of given tag seen in any stanza of ra file. */ +{ +struct hash *hash = hashNew(0); +struct lineFile *lf = lineFileOpen(fileName, TRUE); +char *line; +while (lineFileNextFullReal(lf, &line)) + { + char *word = nextWord(&line); + if (sameString(word, tag)) + { + char *val = trimSpaces(line); + if (!hashLookup(hash, val)) + hashAdd(hash, val, NULL); + } + } +lineFileClose(&lf); +return hash; +}