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]