amassari 2005/01/03 03:41:16
Modified: c/src/xercesc/internal DGXMLScanner.cpp IGXMLScanner.cpp
IGXMLScanner2.cpp SGXMLScanner.cpp
Log:
The maps used to detect duplicate attributes are now cleaned after being used,
so we can avoid allocating the storage for the element number (the memory was
reclaimed at the end of the parsing)
Revision Changes Path
1.59 +3 -10 xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp
Index: DGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/DGXMLScanner.cpp,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- DGXMLScanner.cpp 7 Dec 2004 19:45:43 -0000 1.58
+++ DGXMLScanner.cpp 3 Jan 2005 11:41:16 -0000 1.59
@@ -1387,15 +1387,8 @@
}
else
{
- unsigned int *curCountPtr =
fUndeclaredAttrRegistry->get(namePtr);
- if(!curCountPtr)
- {
- curCountPtr = getNewUIntPtr();
- *curCountPtr = fElemCount;
- fUndeclaredAttrRegistry->put((void *)namePtr,
curCountPtr);
- }
- else if(*curCountPtr < fElemCount)
- *curCountPtr = fElemCount;
+ if(!fUndeclaredAttrRegistry->containsKey(namePtr))
+ fUndeclaredAttrRegistry->put((void *)namePtr, 0);
else
{
emitError
1.83 +3 -10 xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp
Index: IGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- IGXMLScanner.cpp 23 Dec 2004 14:21:27 -0000 1.82
+++ IGXMLScanner.cpp 3 Jan 2005 11:41:16 -0000 1.83
@@ -1812,15 +1812,8 @@
, elemDecl->getFullName()
);
}
- unsigned int *curCountPtr =
fUndeclaredAttrRegistry->get(namePtr);
- if(!curCountPtr)
- {
- curCountPtr = getNewUIntPtr();
- *curCountPtr = fElemCount;
- fUndeclaredAttrRegistry->put((void *)namePtr,
curCountPtr);
- }
- else if(*curCountPtr < fElemCount)
- *curCountPtr = fElemCount;
+ if(!fUndeclaredAttrRegistry->containsKey(namePtr))
+ fUndeclaredAttrRegistry->put((void *)namePtr, 0);
else
{
emitError
1.78 +5 -19 xml-xerces/c/src/xercesc/internal/IGXMLScanner2.cpp
Index: IGXMLScanner2.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner2.cpp,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- IGXMLScanner2.cpp 9 Dec 2004 20:31:39 -0000 1.77
+++ IGXMLScanner2.cpp 3 Jan 2005 11:41:16 -0000 1.78
@@ -315,15 +315,8 @@
{
if(fGrammarType == Grammar::DTDGrammarType)
{
- unsigned int *curCountPtr =
fUndeclaredAttrRegistry->get(namePtr);
- if(!curCountPtr)
- {
- curCountPtr = getNewUIntPtr();
- *curCountPtr = fElemCount;
- fUndeclaredAttrRegistry->put((void *)namePtr,
curCountPtr);
- }
- else if(*curCountPtr < fElemCount)
- *curCountPtr = fElemCount;
+ if(!fUndeclaredAttrRegistry->containsKey(namePtr))
+ fUndeclaredAttrRegistry->put((void *)namePtr, 0);
else
{
emitError
@@ -336,15 +329,8 @@
}
else // schema grammar
{
- unsigned int *curCountPtr =
fUndeclaredAttrRegistryNS->get(suffPtr, uriId);
- if(!curCountPtr)
- {
- curCountPtr = getNewUIntPtr();
- *curCountPtr = fElemCount;
- fUndeclaredAttrRegistryNS->put((void *)suffPtr,
uriId, curCountPtr);
- }
- else if(*curCountPtr < fElemCount)
- *curCountPtr = fElemCount;
+ if(!fUndeclaredAttrRegistryNS->containsKey(suffPtr,
uriId))
+ fUndeclaredAttrRegistryNS->put((void *)suffPtr,
uriId, 0);
else
{
emitError
1.104 +3 -10 xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp
Index: SGXMLScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -r1.103 -r1.104
--- SGXMLScanner.cpp 23 Dec 2004 14:21:27 -0000 1.103
+++ SGXMLScanner.cpp 3 Jan 2005 11:41:16 -0000 1.104
@@ -2296,15 +2296,8 @@
}
else
{
- unsigned int *curCountPtr =
fUndeclaredAttrRegistryNS->get(suffPtr, uriId);
- if(!curCountPtr)
- {
- curCountPtr = getNewUIntPtr();
- *curCountPtr = fElemCount;
- fUndeclaredAttrRegistryNS->put((void *)suffPtr, uriId,
curCountPtr);
- }
- else if(*curCountPtr < fElemCount)
- *curCountPtr = fElemCount;
+ if(!fUndeclaredAttrRegistryNS->containsKey(suffPtr, uriId))
+ fUndeclaredAttrRegistryNS->put((void *)suffPtr, uriId,
0);
else
{
emitError
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]