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]

Reply via email to