summaryrefslogtreecommitdiff
path: root/cpp/src/slice2docbook/Main.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2009-01-28 06:55:36 +1000
committerMichi Henning <michi@zeroc.com>2009-01-28 06:55:36 +1000
commit09b4a1830989b33d06e7a421dbf197d2aa335b91 (patch)
tree61a84913028a1d08a3dfa83f5b519ccda3fd1e9b /cpp/src/slice2docbook/Main.cpp
parenthttp://bugzilla/bugzilla/show_bug.cgi?id=3483 - Move Freeze to separate Jar file (diff)
parentSquashed commit of the following: (diff)
downloadice-09b4a1830989b33d06e7a421dbf197d2aa335b91.tar.bz2
ice-09b4a1830989b33d06e7a421dbf197d2aa335b91.tar.xz
ice-09b4a1830989b33d06e7a421dbf197d2aa335b91.zip
Merge branch 'R3_3_branch'
Diffstat (limited to 'cpp/src/slice2docbook/Main.cpp')
-rw-r--r--cpp/src/slice2docbook/Main.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/cpp/src/slice2docbook/Main.cpp b/cpp/src/slice2docbook/Main.cpp
index 9e7add9b40c..b5616743174 100644
--- a/cpp/src/slice2docbook/Main.cpp
+++ b/cpp/src/slice2docbook/Main.cpp
@@ -12,6 +12,7 @@
#include <IceUtil/CtrlCHandler.h>
#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
using namespace std;
@@ -91,7 +92,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -210,13 +211,20 @@ main(int argc, char* argv[])
if(status == EXIT_SUCCESS && !preprocess)
{
- Gen gen(argv[0], docbook, standAlone, chapter, noIndex, sortFields);
- if(!gen)
+ try
{
+ Gen gen(docbook, standAlone, chapter, noIndex, sortFields);
+ gen.generate(p);
+ }
+ catch(const Slice::FileException& ex)
+ {
+ // If a file could not be created, then
+ // cleanup any created files.
+ FileTracker::instance()->cleanup();
p->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
return EXIT_FAILURE;
}
- gen.generate(p);
}
p->destroy();
@@ -226,6 +234,7 @@ main(int argc, char* argv[])
if(_interrupted)
{
+ FileTracker::instance()->cleanup();
return EXIT_FAILURE;
}
}