249c4b1aadf33329c352c4127b2bffa62faaf039 jcasper Wed Jan 28 00:58:52 2026 -0800 Added hash function to see if any keys match a wildcard value, refs #36320 diff --git src/lib/hash.c src/lib/hash.c index c65f836e3e1..5b3280f1be9 100644 --- src/lib/hash.c +++ src/lib/hash.c @@ -836,16 +836,32 @@ for (i=0; i<nameCount; ++i) hashAdd(hash, nameArray[i], NULL); return hash; } struct hash *hashFromNameValArray(char *nameVal[][2], int nameValCount) /* Make up a hash from nameVal array */ { struct hash *hash = newHash(0); int i; for (i=0; i<nameValCount; ++i) hashAdd(hash, nameVal[i][0], nameVal[i][1]); return hash; } +boolean hashItemExistsLike(struct hash *hash, char *wildcard) +/* Return TRUE if a variable matching the wildcard is in the hash table. */ +{ +struct hashEl *el, *elList = hashElListHash(hash); +slSort(&elList, hashElCmp); +for (el = elList; el != NULL; el = el->next) + { + if (wildMatch(wildcard, el->name)) + { + hashElFreeList(&elList); + return TRUE; + } + } +hashElFreeList(&elList); +return FALSE; +}