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