gareth 2003/10/02 04:07:26 Modified: c/src/xercesc/util XMLString.cpp XMLString.hpp Log: Made the non-memory manager version of replicate not inlined. Updated the documentation for the memory manager versions so they don't tell you you should call release. Revision Changes Path 1.25 +14 -1 xml-xerces/c/src/xercesc/util/XMLString.cpp Index: XMLString.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLString.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- XMLString.cpp 1 Oct 2003 00:22:20 -0000 1.24 +++ XMLString.cpp 2 Oct 2003 11:07:26 -0000 1.25 @@ -491,6 +491,19 @@ } +XMLCh* XMLString::replicate(const XMLCh* const toRep) +{ + // If a null string, return a null string! + XMLCh* ret = 0; + if (toRep) + { + const unsigned int len = stringLen(toRep); + ret = new XMLCh[len + 1]; + memcpy(ret, toRep, (len + 1) * sizeof(XMLCh)); + } + return ret; +} + char* XMLString::replicate(const char* const toRep) { // If a null string, return a null string 1.20 +38 -27 xml-xerces/c/src/xercesc/util/XMLString.hpp Index: XMLString.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLString.hpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- XMLString.hpp 1 Oct 2003 00:22:20 -0000 1.19 +++ XMLString.hpp 2 Oct 2003 11:07:26 -0000 1.20 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.20 2003/10/02 11:07:26 gareth + * Made the non-memory manager version of replicate not inlined. Updated the documentation for the memory manager versions so they don't tell you you should call release. + * * Revision 1.19 2003/10/01 00:22:20 knoaman * Add a lastIndexOf method that takes the string length as one of the params. * @@ -839,6 +842,17 @@ * @see XMLString::release(char**) */ static char* replicate(const char* const toRep); + + + + /** Replicates a string + * NOTE: The returned buffer is allocated with the MemoryManager. It is the + * responsibility of the caller to delete it when not longer needed. + * + * @param toRep The string to replicate + * @param manager The MemoryManager to use to allocate the string + * @return Returns a pointer to the replicated string + */ static char* replicate(const char* const toRep, MemoryManager* const manager); @@ -852,6 +866,16 @@ * @see XMLString::release(XMLCh**) */ static XMLCh* replicate(const XMLCh* const toRep); + + + /** Replicates a string + * NOTE: The returned buffer is allocated with the MemoryManager. It is the + * responsibility of the caller to delete it when not longer needed. + * + * @param toRep The string to replicate + * @param manager The MemoryManager to use to allocate the string + * @return Returns a pointer to the replicated string + */ static XMLCh* replicate(const XMLCh* const toRep, MemoryManager* const manager); @@ -1531,6 +1555,20 @@ } } +inline XMLCh* XMLString::replicate(const XMLCh* const toRep, + MemoryManager* const manager) +{ + // If a null string, return a null string! + XMLCh* ret = 0; + if (toRep) + { + const unsigned int len = stringLen(toRep); + ret = (XMLCh*) manager->allocate((len+1) * sizeof(XMLCh)); //new XMLCh[len + 1]; + memcpy(ret, toRep, (len + 1) * sizeof(XMLCh)); + } + return ret; +} + inline bool XMLString::startsWith( const XMLCh* const toTest , const XMLCh* const prefix) { @@ -1551,33 +1589,6 @@ return regionMatches(toTest, XMLString::stringLen(toTest) - suffixLen, suffix, 0, suffixLen); -} - -inline XMLCh* XMLString::replicate(const XMLCh* const toRep) -{ - // If a null string, return a null string! - XMLCh* ret = 0; - if (toRep) - { - const unsigned int len = stringLen(toRep); - ret = new XMLCh[len + 1]; - memcpy(ret, toRep, (len + 1) * sizeof(XMLCh)); - } - return ret; -} - -inline XMLCh* XMLString::replicate(const XMLCh* const toRep, - MemoryManager* const manager) -{ - // If a null string, return a null string! - XMLCh* ret = 0; - if (toRep) - { - const unsigned int len = stringLen(toRep); - ret = (XMLCh*) manager->allocate((len+1) * sizeof(XMLCh)); //new XMLCh[len + 1]; - memcpy(ret, toRep, (len + 1) * sizeof(XMLCh)); - } - return ret; } inline bool XMLString::validateRegion(const XMLCh* const str1,
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]