You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ro...@locus.apache.org on 2000/07/05 07:20:18 UTC

cvs commit: xml-xerces/c/src/internal ElemStack.cpp

roddey      00/07/04 22:20:17

  Modified:    c/src/internal ElemStack.cpp
  Log:
  Fixed a memory leak when namespaces are enabled.
  
  Revision  Changes    Path
  1.7       +17 -13    xml-xerces/c/src/internal/ElemStack.cpp
  
  Index: ElemStack.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/internal/ElemStack.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ElemStack.cpp	2000/05/15 22:31:15	1.6
  +++ ElemStack.cpp	2000/07/05 05:20:17	1.7
  @@ -1,37 +1,37 @@
   /*
    * The Apache Software License, Version 1.1
  - * 
  + *
    * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights
    * reserved.
  - * 
  + *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
    * are met:
  - * 
  + *
    * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer. 
  - * 
  + *    notice, this list of conditions and the following disclaimer.
  + *
    * 2. Redistributions in binary form must reproduce the above copyright
    *    notice, this list of conditions and the following disclaimer in
    *    the documentation and/or other materials provided with the
    *    distribution.
  - * 
  + *
    * 3. The end-user documentation included with the redistribution,
  - *    if any, must include the following acknowledgment:  
  + *    if any, must include the following acknowledgment:
    *       "This product includes software developed by the
    *        Apache Software Foundation (http://www.apache.org/)."
    *    Alternately, this acknowledgment may appear in the software itself,
    *    if and wherever such third-party acknowledgments normally appear.
  - * 
  + *
    * 4. The names "Xerces" and "Apache Software Foundation" must
    *    not be used to endorse or promote products derived from this
  - *    software without prior written permission. For written 
  + *    software without prior written permission. For written
    *    permission, please contact apache\@apache.org.
  - * 
  + *
    * 5. Products derived from this software may not be called "Apache",
    *    nor may "Apache" appear in their name, without prior written
    *    permission of the Apache Software Foundation.
  - * 
  + *
    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  @@ -45,7 +45,7 @@
    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    * SUCH DAMAGE.
    * ====================================================================
  - * 
  + *
    * This software consists of voluntary contributions made by many
    * individuals on behalf of the Apache Software Foundation, and was
    * originally based on software copyright (c) 1999, International
  @@ -56,6 +56,9 @@
   
   /*
    * $Log: ElemStack.cpp,v $
  + * Revision 1.7  2000/07/05 05:20:17  roddey
  + * Fixed a memory leak when namespaces are enabled.
  + *
    * Revision 1.6  2000/05/15 22:31:15  andyh
    * Replace #include<memory.h> with <string.h> everywhere.
    *
  @@ -129,6 +132,7 @@
   
           // Delete the row for this entry, then delete the row structure
           delete [] fStack[stackInd]->fChildIds;
  +        delete [] fStack[stackInd]->fMap;
           delete fStack[stackInd];
       }
   
  @@ -261,7 +265,7 @@
       if (curRow->fChildCount == curRow->fChildCapacity)
       {
           // Increase the capacity by a quarter and allocate a new row
  -        const unsigned int newCapacity = curRow->fChildCapacity ? 
  +        const unsigned int newCapacity = curRow->fChildCapacity ?
                                            (unsigned int)(curRow->fChildCapacity * 1.25) :
                                            32;
           unsigned int* newRow = new unsigned int[newCapacity];