e99bf5acd96a085eb5581d147209c6f2d5e63556 kate Wed Apr 29 12:07:09 2020 -0700 Fixing compile err/warn and simplifying. Not fixing functionality if this is wrong ;-) diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c index 8130474..26e5afb 100644 --- src/hg/hgTracks/bigBedTrack.c +++ src/hg/hgTracks/bigBedTrack.c @@ -140,39 +140,41 @@ filter->comparisonType = COMPARE_WILDCARD; filter->wildCardString = cloneString(value); } return filter; } struct bigBedFilter *bigBedMakeFilterBy(struct cart *cart, struct bbiFile *bbi, struct trackDb *tdb, char *field, struct slName *choices) /* Add a bigBed filter using a trackDb filterBy statement. */ { struct bigBedFilter *filter; char *setting = getFilterType(cart, tdb, field, FILTERBY_SINGLE); AllocVar(filter); filter->fieldNum = getFieldNum(bbi, field); -if (setting && (sameString(setting, FILTERBY_SINGLE_LIST) +filter->comparisonType = COMPARE_HASH; +if (setting) + { + if (sameString(setting, FILTERBY_SINGLE_LIST) || sameString(setting, FILTERBY_MULTIPLE_LIST_OR) - || sameString(setting, FILTERBY_MULTIPLE_LIST_ONLY_OR))) + || sameString(setting, FILTERBY_MULTIPLE_LIST_ONLY_OR)) filter->comparisonType = COMPARE_HASH_LIST_OR; -else if (setting && sameString(setting, FILTERBY_MULTIPLE_LIST_AND) + else if (sameString(setting, FILTERBY_MULTIPLE_LIST_AND) || sameString(setting, FILTERBY_MULTIPLE_LIST_ONLY_AND)) filter->comparisonType = COMPARE_HASH_LIST_AND; -else - filter->comparisonType = COMPARE_HASH; + } filter->valueHash = newHash(5); filter->numValuesInHash = slCount(choices); for(; choices; choices = choices->next) hashStore(filter->valueHash, choices->name); return filter; } struct bigBedFilter *bigBedBuildFilters(struct cart *cart, struct bbiFile *bbi, struct trackDb *tdb) /* Build all the numeric and filterBy filters for a bigBed */ { struct bigBedFilter *filters = NULL, *filter; struct trackDbFilter *tdbFilters = tdbGetTrackNumFilters(tdb);