diff --git a/src/xercesc/util/QName.cpp b/src/xercesc/util/QName.cpp index 40b6c76ca4b5609ed43524362f4f543ca4baa424..1f3f3f0c9b03b99e03e33c78a0b0112d7d79277a 100644 --- a/src/xercesc/util/QName.cpp +++ b/src/xercesc/util/QName.cpp @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.10 2003/09/25 22:24:28 peiyongz + * Using writeString/readString + * * Revision 1.9 2003/09/25 15:22:34 peiyongz * Implementation of Serialization * @@ -501,18 +504,9 @@ void QName::serialize(XSerializeEngine& serEng) if (serEng.isStoring()) { - int bufferLen = 0; - - //note: buffer size is different from actual string length - serEng<<fPrefixBufSz; - bufferLen = XMLString::stringLen(fPrefix); - serEng<<bufferLen; - serEng.write(fPrefix, bufferLen); + serEng.writeString(fPrefix, fPrefixBufSz, XSerializeEngine::toWriteBufferLen); - serEng<<fLocalPartBufSz; - bufferLen = XMLString::stringLen(fLocalPart); - serEng<<bufferLen; - serEng.write(fLocalPart, bufferLen); + serEng.writeString(fLocalPart, fLocalPartBufSz, XSerializeEngine::toWriteBufferLen); //do not serialize rawName @@ -520,26 +514,17 @@ void QName::serialize(XSerializeEngine& serEng) } else { - int bufferLen = 0; + int dataLen = 0; - serEng>>fPrefixBufSz; - fPrefix = (XMLCh*) fMemoryManager->allocate((fPrefixBufSz+1) * sizeof(XMLCh)); - serEng>>bufferLen; - serEng.read(fPrefix, bufferLen); - fPrefix[bufferLen] = 0; + serEng.readString(fPrefix, (int&)fPrefixBufSz, dataLen, XSerializeEngine::toReadBufferLen); - serEng>>fLocalPartBufSz; - fLocalPart = (XMLCh*) fMemoryManager->allocate((fLocalPartBufSz+1) * sizeof(XMLCh)); - serEng>>bufferLen; - serEng.read(fLocalPart, bufferLen); - fLocalPart[bufferLen] = 0; + serEng.readString(fLocalPart, (int&)fLocalPartBufSz, dataLen, XSerializeEngine::toReadBufferLen); //force raw name rebuilt - fRawNameBufSz = 0; + fRawNameBufSz = 0; fRawName = 0; serEng>>fURIId; - } } diff --git a/src/xercesc/util/XMLAbstractDoubleFloat.cpp b/src/xercesc/util/XMLAbstractDoubleFloat.cpp index 5d869069ea2e808add7c00737100192975102cc0..30173195424e7d8577306e4e99d085c5afaa9a96 100644 --- a/src/xercesc/util/XMLAbstractDoubleFloat.cpp +++ b/src/xercesc/util/XMLAbstractDoubleFloat.cpp @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.16 2003/09/25 22:24:28 peiyongz + * Using writeString/readString + * * Revision 1.15 2003/09/25 15:23:25 peiyongz * add sizeof(XMLCh) when allocating memory * @@ -448,9 +451,7 @@ void XMLAbstractDoubleFloat::serialize(XSerializeEngine& serEng) serEng << fDataConverted; serEng << fSign; - int rawDataLen = XMLString::stringLen(fRawData); - serEng << rawDataLen; - serEng.write(fRawData, rawDataLen); + serEng.writeString(fRawData); // Do not serialize fFormattedString @@ -466,11 +467,7 @@ void XMLAbstractDoubleFloat::serialize(XSerializeEngine& serEng) serEng >> fDataConverted; serEng >> fSign; - int rawDataLen = 0; - serEng >> rawDataLen; - fRawData = (XMLCh*) fMemoryManager->allocate((rawDataLen+1) * sizeof(XMLCh)); - serEng.read(fRawData, rawDataLen); - fRawData[rawDataLen] = 0; + serEng.readString(fRawData); // Set it to 0 force it to re-format if needed fFormattedString = 0; diff --git a/src/xercesc/util/XMLBigDecimal.cpp b/src/xercesc/util/XMLBigDecimal.cpp index 613d95e9f6d489b1ea32b095d61bbf46e4ef6b12..d582626fc62c99c40b07541090a6dcf813238d0f 100644 --- a/src/xercesc/util/XMLBigDecimal.cpp +++ b/src/xercesc/util/XMLBigDecimal.cpp @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.13 2003/09/25 22:24:28 peiyongz + * Using writeString/readString + * * Revision 1.12 2003/09/25 15:23:25 peiyongz * add sizeof(XMLCh) when allocating memory * @@ -389,14 +392,10 @@ void XMLBigDecimal::serialize(XSerializeEngine& serEng) serEng<<fSign; serEng<<fTotalDigits; serEng<<fScale; - serEng<<fRawDataLen; - - serEng.write(fRawData, fRawDataLen); - - int intValLen = XMLString::stringLen(fIntVal); - serEng<<intValLen; + serEng<<fRawDataLen; // we purposely write this seperatly - serEng.write(fIntVal, intValLen); + serEng.writeString(fRawData); + serEng.writeString(fIntVal); } else @@ -406,15 +405,9 @@ void XMLBigDecimal::serialize(XSerializeEngine& serEng) serEng>>fScale; serEng>>fRawDataLen; - fRawData = (XMLCh*) fMemoryManager->allocate((fRawDataLen+1) * sizeof(XMLCh)); - serEng.read(fRawData, fRawDataLen); - fRawData[fRawDataLen] = 0; + serEng.readString(fRawData); + serEng.readString(fIntVal); - int intValLen = 0; - serEng>>intValLen; - fIntVal = (XMLCh*) fMemoryManager->allocate((intValLen+1) * sizeof(XMLCh)); - serEng.read(fIntVal, intValLen); - fIntVal[intValLen] = 0; } } diff --git a/src/xercesc/util/XMLDateTime.cpp b/src/xercesc/util/XMLDateTime.cpp index 54040a6f541e8e3256671ae6120a3f3b396feb9f..495d431417c2dd0742f35f69c4ca707500c0ce24 100644 --- a/src/xercesc/util/XMLDateTime.cpp +++ b/src/xercesc/util/XMLDateTime.cpp @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.16 2003/09/25 22:24:28 peiyongz + * Using writeString/readString + * * Revision 1.15 2003/09/25 15:22:54 peiyongz * Solve HP complier error * @@ -1464,12 +1467,8 @@ void XMLDateTime::serialize(XSerializeEngine& serEng) serEng<<fStart; serEng<<fEnd; - serEng<<fBufferMaxLen; - - int bufferLen = XMLString::stringLen(fBuffer); - serEng<<bufferLen; - serEng.write(fBuffer, bufferLen); + serEng.writeString(fBuffer, fBufferMaxLen, XSerializeEngine::toWriteBufferLen); } else { @@ -1485,14 +1484,9 @@ void XMLDateTime::serialize(XSerializeEngine& serEng) serEng>>fStart; serEng>>fEnd; - serEng>>fBufferMaxLen; - - fBuffer = (XMLCh*) fMemoryManager->allocate((fBufferMaxLen+1) * sizeof(XMLCh)); - int bufferLen = 0; - serEng>>bufferLen; - serEng.read(fBuffer, bufferLen); - fBuffer[bufferLen] = 0; + int dataLen = 0; + serEng.readString(fBuffer, fBufferMaxLen, dataLen ,XSerializeEngine::toReadBufferLen); }