peiyongz 2004/08/17 14:09:04 Modified: c/src/xercesc/util XMLBigInteger.hpp XMLBigInteger.cpp Log: canRep for nonPositivieInteger Revision Changes Path 1.14 +2 -1 xml-xerces/c/src/xercesc/util/XMLBigInteger.hpp Index: XMLBigInteger.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigInteger.hpp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- XMLBigInteger.hpp 11 Aug 2004 16:48:24 -0000 1.13 +++ XMLBigInteger.hpp 17 Aug 2004 21:09:04 -0000 1.14 @@ -96,6 +96,7 @@ ( const XMLCh* const rawData , MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager + , bool isNonPositiveInteger = false ); static void parseBigInteger(const XMLCh* const toConvert 1.12 +17 -4 xml-xerces/c/src/xercesc/util/XMLBigInteger.cpp Index: XMLBigInteger.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigInteger.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- XMLBigInteger.cpp 11 Aug 2004 16:48:24 -0000 1.11 +++ XMLBigInteger.cpp 17 Aug 2004 21:09:04 -0000 1.12 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.12 2004/08/17 21:09:04 peiyongz + * canRep for nonPositivieInteger + * * Revision 1.11 2004/08/11 16:48:24 peiyongz * String version compareValue * @@ -126,19 +129,29 @@ XERCES_CPP_NAMESPACE_BEGIN XMLCh* XMLBigInteger::getCanonicalRepresentation(const XMLCh* const rawData - , MemoryManager* const memMgr) + , MemoryManager* const memMgr + , bool isNonPositiveInteger) { try { - XMLCh* retBuf = (XMLCh*) memMgr->allocate( (XMLString::stringLen(rawData) + 1) * sizeof(XMLCh)); + XMLCh* retBuf = (XMLCh*) memMgr->allocate( (XMLString::stringLen(rawData) + 2) * sizeof(XMLCh)); int sign = 0; XMLBigInteger::parseBigInteger(rawData, retBuf, sign); if (sign == 0) { - retBuf[0] = chDigit_0; - retBuf[1] = chNull; + if (isNonPositiveInteger) + { + retBuf[0] = chDash; + retBuf[1] = chDigit_0; + retBuf[2] = chNull; + } + else + { + retBuf[0] = chDigit_0; + retBuf[1] = chNull; + } } else if (sign == -1) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]