diff --git a/src/xercesc/dom/impl/DOMWriterImpl.cpp b/src/xercesc/dom/impl/DOMWriterImpl.cpp index f38947bbe921c84d2e9f240f82a26cbbd6f1b080..6178d9714bdc4be5b1b9b0d02973fefad3f26488 100644 --- a/src/xercesc/dom/impl/DOMWriterImpl.cpp +++ b/src/xercesc/dom/impl/DOMWriterImpl.cpp @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.13 2002/07/16 15:19:42 peiyongz + * check lenght of getEncoding()/getActualEncoding() + * * Revision 1.12 2002/06/25 16:17:16 tng * DOM L3: add release() * @@ -602,13 +605,20 @@ void DOMWriterImpl::initSession(const DOMNode* const nodeToWrite) (DOMDocument*)nodeToWrite : nodeToWrite->getOwnerDocument(); if (docu) { - if (docu->getEncoding()) + const XMLCh* tmpEncoding = docu->getEncoding(); + + if ( tmpEncoding && XMLString::stringLen(tmpEncoding)) { - fEncodingUsed = docu->getEncoding(); + fEncodingUsed = tmpEncoding; } - else if (docu->getActualEncoding()) + else { - fEncodingUsed = docu->getActualEncoding(); + tmpEncoding = docu->getActualEncoding(); + + if ( tmpEncoding && XMLString::stringLen(tmpEncoding)) + { + fEncodingUsed = tmpEncoding; + } } } }