Skip to content
Snippets Groups Projects
Commit e93fff56 authored by Neil Graham's avatar Neil Graham
Browse files

fix for constructor added for compatibility with Xerces 2.2; thanks to David Cargill

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175504 13f79535-47bb-0310-9956-ffa450edef68
parent 3e29e706
No related branches found
No related tags found
No related merge requests found
...@@ -287,13 +287,54 @@ XMLFormatter::XMLFormatter( const char* const outEncoding ...@@ -287,13 +287,54 @@ XMLFormatter::XMLFormatter( const char* const outEncoding
, const EscapeFlags escapeFlags , const EscapeFlags escapeFlags
, const UnRepFlags unrepFlags , const UnRepFlags unrepFlags
, MemoryManager* const manager) , MemoryManager* const manager)
: fEscapeFlags(escapeFlags)
, fOutEncoding(0)
, fTarget(target)
, fUnRepFlags(unrepFlags)
, fXCoder(0)
, fAposRef(0)
, fAposLen(0)
, fAmpRef(0)
, fAmpLen(0)
, fGTRef(0)
, fGTLen(0)
, fLTRef(0)
, fLTLen(0)
, fQuoteRef(0)
, fQuoteLen(0)
, fIsXML11(false)
, fMemoryManager(manager)
{ {
XMLFormatter(outEncoding // this constructor uses "1.0" for the docVersion
, "1.0"
, target // Transcode the encoding string
, escapeFlags fOutEncoding = XMLString::transcode(outEncoding, fMemoryManager);
, unrepFlags
, manager); // Try to create a transcoder for this encoding
XMLTransService::Codes resCode;
fXCoder = XMLPlatformUtils::fgTransService->makeNewTranscoderFor
(
fOutEncoding
, resCode
, kTmpBufSize
, fMemoryManager
);
if (!fXCoder)
{
fMemoryManager->deallocate(fOutEncoding); //delete [] fOutEncoding;
ThrowXML1
(
TranscodingException
, XMLExcepts::Trans_CantCreateCvtrFor
, outEncoding
);
}
//XMLCh* const tmpDocVer = XMLString::transcode("1.0", fMemoryManager);
//ArrayJanitor<XMLCh> jname(tmpDocVer, fMemoryManager);
//fIsXML11 = XMLString::equals(tmpDocVer, XMLUni::fgVersion1_1);
fIsXML11 = false; // docVersion 1.0 is not 1.1!
} }
...@@ -302,13 +343,51 @@ XMLFormatter::XMLFormatter( const XMLCh* const outEncoding ...@@ -302,13 +343,51 @@ XMLFormatter::XMLFormatter( const XMLCh* const outEncoding
, const EscapeFlags escapeFlags , const EscapeFlags escapeFlags
, const UnRepFlags unrepFlags , const UnRepFlags unrepFlags
, MemoryManager* const manager) , MemoryManager* const manager)
: fEscapeFlags(escapeFlags)
, fOutEncoding(0)
, fTarget(target)
, fUnRepFlags(unrepFlags)
, fXCoder(0)
, fAposRef(0)
, fAposLen(0)
, fAmpRef(0)
, fAmpLen(0)
, fGTRef(0)
, fGTLen(0)
, fLTRef(0)
, fLTLen(0)
, fQuoteRef(0)
, fQuoteLen(0)
, fIsXML11(false)
, fMemoryManager(manager)
{ {
XMLFormatter(outEncoding // this constructor uses XMLUni::fgVersion1_0 for the docVersion
, XMLUni::fgVersion1_0
, target // Try to create a transcoder for this encoding
, escapeFlags XMLTransService::Codes resCode;
, unrepFlags fXCoder = XMLPlatformUtils::fgTransService->makeNewTranscoderFor
, manager); (
outEncoding
, resCode
, kTmpBufSize
, fMemoryManager
);
if (!fXCoder)
{
ThrowXML1
(
TranscodingException
, XMLExcepts::Trans_CantCreateCvtrFor
, outEncoding
);
}
// Copy the encoding string
fOutEncoding = XMLString::replicate(outEncoding, fMemoryManager);
//fIsXML11 = XMLString::equals(docVersion, XMLUni::fgVersion1_1);
fIsXML11 = false; // docVersion 1.0 is not 1.1!
} }
XMLFormatter::~XMLFormatter() XMLFormatter::~XMLFormatter()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment