diff --git a/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp b/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp index 6c09ad30bea41e4c664748c67febeb8e6b6b885f..40ea0f8f0981e2b578eccded7be654bd2bc94aec 100644 --- a/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp +++ b/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp @@ -16,6 +16,9 @@ /* * $Log$ + * Revision 1.6 2004/10/28 20:18:39 peiyongz + * store/load fSystemId + * * Revision 1.5 2004/09/08 13:56:50 peiyongz * Apache License Version 2.0 * @@ -116,10 +119,18 @@ void XMLDTDDescriptionImpl::serialize(XSerializeEngine& serEng) if (serEng.isStoring()) { + serEng.writeString(fSystemId); serEng.writeString(fRootName); } else { + if (fSystemId) + { + XMLGrammarDescription::getMemoryManager()->deallocate((void*)fSystemId); + } + + serEng.readString((XMLCh*&)fSystemId); + //the original root name which came from the ctor needs deallocated if (fRootName) {