diff --git a/src/xercesc/framework/MemBufFormatTarget.cpp b/src/xercesc/framework/MemBufFormatTarget.cpp index 1d6edb682b30fb6fc18157a27ecd7e2ef270f730..f3214187fe43d811501a1c48cd8cbc570e98b9d4 100644 --- a/src/xercesc/framework/MemBufFormatTarget.cpp +++ b/src/xercesc/framework/MemBufFormatTarget.cpp @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.2 2002/06/05 15:47:13 peiyongz + * data member changed, reset() added. + * * Revision 1.1 2002/05/28 22:40:46 peiyongz * DOM3 Save Interface: DOMWriter/DOMWriterFilter * @@ -66,14 +69,11 @@ #include <xercesc/util/XMLString.hpp> MemBufFormatTarget::MemBufFormatTarget() -:fDataBuf(0) { - fDataBuf = new XMLBuffer(); } MemBufFormatTarget::~MemBufFormatTarget() { - delete fDataBuf; } void MemBufFormatTarget::writeChars(const XMLByte* const toWrite @@ -83,21 +83,26 @@ void MemBufFormatTarget::writeChars(const XMLByte* const toWrite // // The toWrite may not be null terminated, // so we need to do some extra work here - // + // XMLByte lastChar = toWrite[count]; // preserve the last char XMLByte* tmpBuf = (XMLByte *)toWrite; tmpBuf[count] = 0; XMLCh* transBuf = XMLString::transcode((char *) tmpBuf); - fDataBuf->append(transBuf, XMLString::stringLen(transBuf)); - delete[] transBuf; + fDataBuf.append(transBuf, XMLString::stringLen(transBuf)); + delete[] transBuf; tmpBuf[count] = lastChar; // restore the last char } XMLCh* MemBufFormatTarget::getString() const { - return XMLString::replicate(fDataBuf->getRawBuffer()); + return XMLString::replicate(fDataBuf.getRawBuffer()); +} + +void MemBufFormatTarget::reset() +{ + fDataBuf.reset(); } diff --git a/src/xercesc/framework/MemBufFormatTarget.hpp b/src/xercesc/framework/MemBufFormatTarget.hpp index d064cef2f6ba7c3503ceadfbfe708e8733b03a31..715407f6f49352477b961ea2e6964fe1aff6965f 100644 --- a/src/xercesc/framework/MemBufFormatTarget.hpp +++ b/src/xercesc/framework/MemBufFormatTarget.hpp @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.2 2002/06/05 15:47:13 peiyongz + * data member changed, reset() added. + * * Revision 1.1 2002/05/28 22:40:46 peiyongz * DOM3 Save Interface: DOMWriter/DOMWriterFilter * @@ -88,21 +91,33 @@ public: // Getter // ----------------------------------------------------------------------- /** @name getString */ - /** - * caller owns the returned string and is accountable - * for the memory release - */ //@{ + /** + * Returned the internal string buffer. + * + * Caller owns the returned string and is accountable + * for the memory release + */ XMLCh* getString() const; + //@} + + /** @name reset */ + //@{ + /** + * Reset the internal string buffer. + * + */ + void reset(); + //@} private: // ----------------------------------------------------------------------- // Unimplemented methods. // ----------------------------------------------------------------------- - MemBufFormatTarget(const MemBufFormatTarget& other); - void operator=(const MemBufFormatTarget& rhs); + MemBufFormatTarget(const MemBufFormatTarget&); + MemBufFormatTarget& operator=(const MemBufFormatTarget&); - XMLBuffer *fDataBuf; + XMLBuffer fDataBuf; };