static void clearPatternSet (const langType language) { if (language <= SetUpper) { patternSet* const set = Sets + language; unsigned int i; for (i = 0 ; i < set->count ; ++i) { regexPattern *p = &set->patterns [i]; regfree (p->pattern); eFree (p->pattern); p->pattern = NULL; if (p->type == PTRN_TAG) { eFree (p->u.tag.name_pattern); p->u.tag.name_pattern = NULL; p->u.tag.kind = NULL; } } if (set->patterns != NULL) eFree (set->patterns); set->patterns = NULL; set->count = 0; hashTableDelete (set->kinds); set->kinds = NULL; } }
static void findAutomakeTags (void) { int index = CORK_NIL; void *backup_newMacro = newMacroCB; void *backup_valuesFound = valuesFoundCB; AutomakeDirectories = hashTableNew (11, hashCstrhash, hashCstreq, eFree, eFree); newMacroCB = newMacroAM; valuesFoundCB = valuesFoundAM; findMakeTagsCommon (&index); valuesFoundCB = backup_valuesFound; newMacroCB = backup_newMacro; hashTableDelete (AutomakeDirectories); }
extern void circularRefCheckerDestroy (struct circularRefChecker * checker) { hashTableDelete (checker->visitTable); checker->visitTable = NULL; eFree (checker); }