ELEMENT_HASH_LOOKUP is no longer conditional, and is a permanent part of Tidy.

This commit is contained in:
Jim Derry 2017-10-03 14:04:32 -04:00
parent 558082cbfc
commit ff030aab7a
2 changed files with 0 additions and 32 deletions

View file

@ -332,7 +332,6 @@ static Dict tag_defs[] =
{ (TidyTagId)0, NULL, 0, NULL, (0), NULL, NULL } { (TidyTagId)0, NULL, 0, NULL, (0), NULL, NULL }
}; };
#if ELEMENT_HASH_LOOKUP
static uint tagsHash(ctmbstr s) static uint tagsHash(ctmbstr s)
{ {
uint hashval; uint hashval;
@ -401,19 +400,15 @@ static void tagsEmptyHash( TidyDocImpl* doc, TidyTagImpl* tags )
tags->hashtab[i] = NULL; tags->hashtab[i] = NULL;
} }
} }
#endif /* ELEMENT_HASH_LOOKUP */
static const Dict* tagsLookup( TidyDocImpl* doc, TidyTagImpl* tags, ctmbstr s ) static const Dict* tagsLookup( TidyDocImpl* doc, TidyTagImpl* tags, ctmbstr s )
{ {
const Dict *np; const Dict *np;
#if ELEMENT_HASH_LOOKUP
const DictHash* p; const DictHash* p;
#endif
if (!s) if (!s)
return NULL; return NULL;
#if ELEMENT_HASH_LOOKUP
/* this breaks if declared elements get changed between two */ /* this breaks if declared elements get changed between two */
/* parser runs since Tidy would use the cached version rather */ /* parser runs since Tidy would use the cached version rather */
/* than the new one. */ /* than the new one. */
@ -430,17 +425,6 @@ static const Dict* tagsLookup( TidyDocImpl* doc, TidyTagImpl* tags, ctmbstr s )
for (np = tags->declared_tag_list; np; np = np->next) for (np = tags->declared_tag_list; np; np = np->next)
if (TY_(tmbstrcmp)(s, np->name) == 0) if (TY_(tmbstrcmp)(s, np->name) == 0)
return tagsInstall(doc, tags, np); return tagsInstall(doc, tags, np);
#else
for (np = tag_defs + 1; np < tag_defs + N_TIDY_TAGS; ++np)
if (TY_(tmbstrcmp)(s, np->name) == 0)
return np;
for (np = tags->declared_tag_list; np; np = np->next)
if (TY_(tmbstrcmp)(s, np->name) == 0)
return np;
#endif /* ELEMENT_HASH_LOOKUP */
return NULL; return NULL;
} }
@ -742,9 +726,7 @@ void TY_(FreeDeclaredTags)( TidyDocImpl* doc, UserTagType tagType )
if ( deleteIt ) if ( deleteIt )
{ {
#if ELEMENT_HASH_LOOKUP
tagsRemoveFromHash( doc, &doc->tags, curr->name ); tagsRemoveFromHash( doc, &doc->tags, curr->name );
#endif
FreeDict( doc, curr ); FreeDict( doc, curr );
if ( prev ) if ( prev )
prev->next = next; prev->next = next;
@ -808,9 +790,7 @@ void TY_(AdjustTags)( TidyDocImpl *doc )
np->parser = TY_(ParseBlock); np->parser = TY_(ParseBlock);
} }
#if ELEMENT_HASH_LOOKUP
tagsEmptyHash(doc, tags); /* not sure this is really required, but to be sure */ tagsEmptyHash(doc, tags); /* not sure this is really required, but to be sure */
#endif
doc->HTML5Mode = no; /* set *NOT* HTML5 mode */ doc->HTML5Mode = no; /* set *NOT* HTML5 mode */
} }
@ -857,9 +837,7 @@ void TY_(ResetTags)( TidyDocImpl *doc )
np->parser = TY_(ParseInline); np->parser = TY_(ParseInline);
} }
#if ELEMENT_HASH_LOOKUP
tagsEmptyHash( doc, tags ); /* not sure this is really required, but to be sure */ tagsEmptyHash( doc, tags ); /* not sure this is really required, but to be sure */
#endif
doc->HTML5Mode = yes; /* set HTML5 mode */ doc->HTML5Mode = yes; /* set HTML5 mode */
} }
@ -867,9 +845,7 @@ void TY_(FreeTags)( TidyDocImpl* doc )
{ {
TidyTagImpl* tags = &doc->tags; TidyTagImpl* tags = &doc->tags;
#if ELEMENT_HASH_LOOKUP
tagsEmptyHash( doc, tags ); tagsEmptyHash( doc, tags );
#endif
TY_(FreeDeclaredTags)( doc, tagtype_null ); TY_(FreeDeclaredTags)( doc, tagtype_null );
FreeDict( doc, tags->xml_tags ); FreeDict( doc, tags->xml_tags );

View file

@ -43,11 +43,6 @@ struct _Dict
Dict* next; Dict* next;
}; };
#if !defined(ELEMENT_HASH_LOOKUP)
#define ELEMENT_HASH_LOOKUP 1
#endif
#if ELEMENT_HASH_LOOKUP
enum enum
{ {
ELEMENT_HASH_SIZE=178u ELEMENT_HASH_SIZE=178u
@ -60,15 +55,12 @@ struct _DictHash
}; };
typedef struct _DictHash DictHash; typedef struct _DictHash DictHash;
#endif
struct _TidyTagImpl struct _TidyTagImpl
{ {
Dict* xml_tags; /* placeholder for all xml tags */ Dict* xml_tags; /* placeholder for all xml tags */
Dict* declared_tag_list; /* User declared tags */ Dict* declared_tag_list; /* User declared tags */
#if ELEMENT_HASH_LOOKUP
DictHash* hashtab[ELEMENT_HASH_SIZE]; DictHash* hashtab[ELEMENT_HASH_SIZE];
#endif
}; };
typedef struct _TidyTagImpl TidyTagImpl; typedef struct _TidyTagImpl TidyTagImpl;