| 7487 | } |
| 7488 | |
| 7489 | static DTD * |
| 7490 | dtdCreate(XML_Parser parser) { |
| 7491 | DTD *p = MALLOC(parser, sizeof(DTD)); |
| 7492 | if (p == NULL) |
| 7493 | return p; |
| 7494 | poolInit(&(p->pool), parser); |
| 7495 | poolInit(&(p->entityValuePool), parser); |
| 7496 | hashTableInit(&(p->generalEntities), parser); |
| 7497 | hashTableInit(&(p->elementTypes), parser); |
| 7498 | hashTableInit(&(p->attributeIds), parser); |
| 7499 | hashTableInit(&(p->prefixes), parser); |
| 7500 | #ifdef XML_DTD |
| 7501 | p->paramEntityRead = XML_FALSE; |
| 7502 | hashTableInit(&(p->paramEntities), parser); |
| 7503 | #endif /* XML_DTD */ |
| 7504 | p->defaultPrefix.name = NULL; |
| 7505 | p->defaultPrefix.binding = NULL; |
| 7506 | |
| 7507 | p->in_eldecl = XML_FALSE; |
| 7508 | p->scaffIndex = NULL; |
| 7509 | p->scaffold = NULL; |
| 7510 | p->scaffLevel = 0; |
| 7511 | p->scaffSize = 0; |
| 7512 | p->scaffCount = 0; |
| 7513 | p->contentStringLen = 0; |
| 7514 | |
| 7515 | p->keepProcessing = XML_TRUE; |
| 7516 | p->hasParamEntityRefs = XML_FALSE; |
| 7517 | p->standalone = XML_FALSE; |
| 7518 | return p; |
| 7519 | } |
| 7520 | |
| 7521 | static void |
| 7522 | dtdReset(DTD *p, XML_Parser parser) { |
no test coverage detected
searching dependent graphs…