578933212e6c900f4cda77f4d9cd1e7d01b9ace1 kate Thu Nov 3 16:09:25 2016 -0700 Initialize tissues from cart. refs #17369 diff --git src/hg/lib/cart.c src/hg/lib/cart.c index 0997d3f..a5b0bf3 100644 --- src/hg/lib/cart.c +++ src/hg/lib/cart.c @@ -1161,30 +1161,46 @@ { struct slName *slnList = NULL; struct hashEl *hel = hashLookup(cart->hash, var); while (hel != NULL) { if (hel->val != NULL) { struct slName *sln = slNameNew(hel->val); slAddHead(&slnList, sln); } hel = hashLookupNext(hel); } return slnList; } +struct hash *cartHashList(struct cart *cart, char *var) +/* Return hash with multiple values for the same var or NULL if not found. */ +{ +struct hashEl *hel = hashLookup(cart->hash, var); +struct hash *valHash = hashNew(0); +while (hel != NULL) + { + if (hel->val != NULL) + { + hashAdd(valHash, hel->val, NULL); + } + hel = hashLookupNext(hel); + } +return valHash; +} + void cartAddString(struct cart *cart, char *var, char *val) /* Add string valued cart variable (if called multiple times on same var, * will create a list -- retrieve with cartOptionalSlNameList. */ { hashAdd(cart->hash, var, cloneString(val)); } void cartSetString(struct cart *cart, char *var, char *val) /* Set string valued cart variable. */ { hashUpdateDynamicVal(cart->hash, var, cloneString(val)); } int cartInt(struct cart *cart, char *var)