GenericEventHandler.cxx revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1996 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __GNUG__
#pragma implementation
#endif
#include "splib.h"
#include "GenericEventHandler.h"
#include "macros.h"
#include "ExtendEntityManager.h"
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
public:
private:
};
inline
void GenericEventHandler::freeAll()
{
if (allocBlocks_)
freeAll1();
}
inline
{
}
inline
{
else
}
bool generalEntities)
{
}
{
freeAll();
while (freeBlocks_) {
delete tem;
}
}
void GenericEventHandler::freeAll1()
{
Block **p;
for (p = &allocBlocks_; *p; p = &(*p)->next)
;
*p = freeBlocks_;
allocBlocks_ = 0;
if (freeBlocks_)
else
firstBlockSpare_ = 0;
firstBlockUsed_ = 0;
}
{
if (n == 0)
return 0;
// round up to avoid alignment problems
n = (n + sizeof(char *) - 1) & ~(sizeof(char *) - 1);
enum { BIG = 1024 };
if (n > firstBlockSpare_) {
if (freeBlocks_ && firstBlockUsed_) {
allocBlocks_ = tem;
}
freeBlocks_ = tem;
}
firstBlockUsed_ = 0;
}
firstBlockUsed_ += n;
firstBlockSpare_ -= n;
return tem;
}
{
switch (def->declaredContent()) {
case ElementDefinition::modelGroup:
break;
case ElementDefinition::any:
break;
case ElementDefinition::cdata:
break;
case ElementDefinition::rcdata:
break;
case ElementDefinition::empty:
break;
}
if (appEvent.nAttributes != 0) {
}
freeAll();
delete event;
}
{
delete event;
}
{
delete event;
}
{
if (entity)
else
delete event;
}
{
// Don't want location of chars in entity.
delete event;
}
{
freeAll();
delete event;
}
{
freeAll();
delete event;
}
{
delete event;
}
{
if (entity) {
}
else
appEvent.haveExternalId = 0;
freeAll();
delete event;
}
{
delete event;
}
{
if (generalEntities_) {
for (;;) {
if (!entity)
break;
}
freeAll();
}
delete event;
}
{
if (generalEntities_) {
}
delete event;
}
{
}
else
delete event;
}
{
{
}
* sizeof(SGMLApplication::CharString));
size_t i = 0;
i++;
break;
case Markup::s:
break;
default:
break;
}
freeAll();
delete event;
}
{
unsigned depth = 0;
{
case Markup::reservedName:
if (!depth)
break;
case Markup::entityStart:
if (!depth)
depth++;
break;
depth--;
break;
default:
break;
}
}
size_t i = 0;
case Markup::reservedName:
if (!depth) {
switch (iter.reservedName()) {
break;
break;
break;
break;
break;
default:
}
i++;
}
break;
case Markup::entityStart:
if (!depth) {
i++;
}
depth++;
break;
depth--;
break;
default:
break;
}
case MarkedSectionEvent::include:
break;
case MarkedSectionEvent::rcdata:
break;
case MarkedSectionEvent::cdata:
break;
case MarkedSectionEvent::ignore:
break;
}
freeAll();
delete event;
}
{
delete event;
}
{
case MarkedSectionEvent::include:
break;
case MarkedSectionEvent::rcdata:
break;
case MarkedSectionEvent::cdata:
break;
case MarkedSectionEvent::ignore:
break;
}
delete event;
}
{
case MessageType::quantityError:
break;
case MessageType::idrefError:
break;
case MessageType::error:
break;
case MessageType::info:
break;
case MessageType::warning:
break;
}
}
{
for (;;) {
lastOrigin_.clear();
openEntityPtr_ = (SpOpenEntity *)0;
return;
}
break;
}
}
void
const AttributeList &attributeList)
{
attributes = to;
for (size_t i = 0; i < nAttributes; i++) {
if (!value)
else {
case AttributeValue::implied:
break;
case AttributeValue::tokenized:
{
if (attributeList.specified(i))
else if (attributeList.current(i))
else
p->nEntities = 0;
if (semantics) {
else {
if (nEntities) {
p->entities = v;
}
}
}
}
break;
case AttributeValue::cdata:
{
if (attributeList.specified(i))
else if (attributeList.current(i))
else
const Char *s;
{
switch (type) {
nChunks++;
break;
default:
break;
}
}
p->cdataChunks
= (SGMLApplication::Attribute::CdataChunk *)allocate(nChunks * sizeof(SGMLApplication::Attribute::CdataChunk));
p->nCdataChunks = nChunks;
{
size_t i = 0;
switch (type) {
{
}
else {
}
}
break;
{
chunk->nonSgmlChar = *s;
}
break;
default:
break;
}
}
}
}
break;
}
}
}
}
{
case Entity::generalEntity:
break;
case Entity::parameterEntity:
break;
break;
break;
default:
}
break;
break;
break;
break;
break;
break;
}
if (internal) {
}
else {
to.isInternal = 0;
if (externalData) {
if (to.nAttributes)
}
else {
to.nAttributes = 0;
}
}
}
{
}
const ExternalId &from)
{
if (str) {
}
else
to.haveSystemId = 0;
if (str) {
}
else
to.havePublicId = 0;
}
else
to.haveGeneratedSystemId = 0;
}
bool generalEntities,
const bool *messagesInhibitedPtr)
{
}
{
if (!*messagesInhibitedPtr_)
}
{
}
{
const InputSourceOrigin *inputSourceOrigin;
const ExternalInfo *externalInfo;
for (;;) {
if (!origin)
return loc;
if (inputSourceOrigin) {
if (externalInfo)
break;
}
// Qualifier is for CodeWarrior
}
if (entityName)
return loc;
return loc;
}
#ifdef SP_NAMESPACE
}
#endif