Beispiel #1
0
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;
	}
}
Beispiel #2
0
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);
}
Beispiel #3
0
extern void circularRefCheckerDestroy (struct circularRefChecker * checker)
{
	hashTableDelete (checker->visitTable);
	checker->visitTable = NULL;
	eFree (checker);
}