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 18:55:39 UTC

svn commit: r191682 - /xerces/c/branches/xerces-2.7/src/xercesc/util/QName.cpp

Author: cargilld
Date: Tue Jun 21 09:55:38 2005
New Revision: 191682

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

Modified:
    xerces/c/branches/xerces-2.7/src/xercesc/util/QName.cpp

Modified: xerces/c/branches/xerces-2.7/src/xercesc/util/QName.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/xerces-2.7/src/xercesc/util/QName.cpp?rev=191682&r1=191681&r2=191682&view=diff
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/util/QName.cpp (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/util/QName.cpp Tue Jun 21 09:55:38 2005
@@ -18,6 +18,7 @@
  * $Id$
  */
 
+#include <xercesc/util/Janitor.hpp>
 #include <xercesc/util/QName.hpp>
 #include <xercesc/util/OutOfMemoryException.hpp>
 
@@ -38,6 +39,8 @@
 {
 }
 
+typedef JanitorMemFunCall<QName>    CleanupType;
+
 QName::QName( const XMLCh* const   prefix
             , const XMLCh* const   localPart
             , const unsigned int   uriId
@@ -51,6 +54,8 @@
 ,fRawName(0)
 ,fMemoryManager(manager)
 {
+    CleanupType cleanup(this, &QName::cleanUp);
+
     try
     {
         //
@@ -61,12 +66,12 @@
     }
     catch(const OutOfMemoryException&)
     {
+        cleanup.release();
+
         throw;
     }
-    catch(...)
-    {
-        cleanUp();
-    }
+
+    cleanup.release();
 }
 
 QName::QName( const XMLCh* const rawName
@@ -81,6 +86,8 @@
 ,fRawName(0)
 ,fMemoryManager(manager)
 {
+    CleanupType cleanup(this, &QName::cleanUp);
+
     try
     {
         //
@@ -91,12 +98,12 @@
     }
     catch(const OutOfMemoryException&)
     {
+        cleanup.release();
+
         throw;
     }
-    catch(...)
-    {
-        cleanUp();
-    }
+
+    cleanup.release();
 }
 
 QName::~QName()



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