You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2005/06/21 20:05:38 UTC

svn commit: r191699 - /xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/SchemaGrammar.cpp

Author: cargilld
Date: Tue Jun 21 11:05:37 2005
New Revision: 191699

URL: http://svn.apache.org/viewcvs?rev=191699&view=rev
Log:
Add back changes Bertoni made that were overwritten.

Modified:
    xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/SchemaGrammar.cpp

Modified: xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/SchemaGrammar.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/SchemaGrammar.cpp?rev=191699&r1=191698&r2=191699&view=diff
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/SchemaGrammar.cpp (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/SchemaGrammar.cpp Tue Jun 21 11:05:37 2005
@@ -38,6 +38,8 @@
 
 XERCES_CPP_NAMESPACE_BEGIN
 
+typedef JanitorMemFunCall<SchemaGrammar>    CleanupType;
+
 // ---------------------------------------------------------------------------
 //  SchemaGrammar: Constructors and Destructor
 // ---------------------------------------------------------------------------
@@ -60,6 +62,8 @@
     , fValidated(false)
     , fDatatypeRegistry(manager)
 {
+    CleanupType cleanup(this, &SchemaGrammar::cleanUp);
+
     //
     //  Init all the pool members.
     //
@@ -95,13 +99,12 @@
     }
     catch(const OutOfMemoryException&)
     {
-        throw;
-    }
-    catch(...) {
+        cleanup.release();
 
-        cleanUp();
         throw;
     }
+
+    cleanup.release();
 }
 
 SchemaGrammar::~SchemaGrammar()



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org