Ok, this fix was just checked into CVS.
----------------------------------------
Dean Roddey
Software Weenie
IBM Center for Java Technology - Silicon Valley
[EMAIL PROTECTED]
[EMAIL PROTECTED] on 03/20/2000 09:17:36 AM
Please respond to [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
cc:
Subject: looks like a bug in Xerces 1.1.0 C++
void ReaderMgr::getLastExtEntityInfo(LastExtEntityInfo& lastInfo) const
{
//
// If the reader stack never got created, then we can't give this
// information.
//
if (!fReaderStack && !fCurReader)
// ---- HERE fReaderStack !=0 and fCurReader == 0 so the conditions fails
----
{
lastInfo.systemId = XMLUni::fgZeroLenString;
lastInfo.publicId = XMLUni::fgZeroLenString;
lastInfo.lineNumber = 0;
lastInfo.colNumber = 0;
return;
}
// We have at least one entity so get the data
const XMLEntityDecl* theEntity;
// --- HERE the getLastExtEntity() returns value of fCurReader !!! equal to
0 (see above) !!!!
// --- which is assigned to the theReader variable
const XMLReader* theReader = getLastExtEntity(theEntity);
// Fill in the info structure with the reader we found
// --- and HERE comes the crash as theReader is NULL pointer
lastInfo.systemId = theReader->getSystemId();
lastInfo.publicId = theReader->getPublicId();
lastInfo.lineNumber = theReader->getLineNumber();
lastInfo.colNumber = theReader->getColumnNumber();
}