dbertoni 2003/07/14 11:48:04
Modified: c/src/xalanc/XalanTransformer XalanTransformer.cpp
Log:
Better exception safety in initialization.
Revision Changes Path
1.3 +6 -2
xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.cpp
Index: XalanTransformer.cpp
===================================================================
RCS file:
/home/cvs/xml-xalan/c/src/xalanc/XalanTransformer/XalanTransformer.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XalanTransformer.cpp 1 Jul 2003 21:16:55 -0000 1.2
+++ XalanTransformer.cpp 14 Jul 2003 18:48:04 -0000 1.3
@@ -205,8 +205,8 @@
XalanTransformer::initialize()
{
// Initialize Xalan.
- s_emptyInputSource = new XSLTInputSource;
- s_xsltInit = new XSLTInit;
+ XalanAutoPtr<XSLTInit> initGuard(new XSLTInit);
+ XalanAutoPtr<XSLTInputSource> inputSourceGuard(new XSLTInputSource);
XalanExtensionsInstaller::installGlobal();
XalanEXSLTCommonFunctionsInstaller::installGlobal();
@@ -220,6 +220,9 @@
StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("format-number")),
FunctionICUFormatNumber());
#endif
+
+ s_xsltInit = initGuard.release();
+ s_emptyInputSource = inputSourceGuard.release();
}
@@ -236,6 +239,7 @@
delete s_xsltInit;
#endif
+ s_emptyInputSource = 0;
s_xsltInit = 0;
XalanExtensionsInstaller::uninstallGlobal();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]