summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-02-05 14:52:23 +0000
committerCarl Hetherington <cth@carlh.net>2014-02-05 14:52:23 +0000
commitd8a2e55855b50eda28ec7d394449274f5e085bd6 (patch)
tree9d3110b4c306a80800259b6fd4b9045531e17064 /src/tools
parentebe451c248c3accd1a564bcad5eabf9d32a971f3 (diff)
Fix some coverity-reported stuff.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic_create.cc52
-rw-r--r--src/tools/server_test.cc14
2 files changed, 37 insertions, 29 deletions
diff --git a/src/tools/dcpomatic_create.cc b/src/tools/dcpomatic_create.cc
index 8be468b30..8dc4de50e 100644
--- a/src/tools/dcpomatic_create.cc
+++ b/src/tools/dcpomatic_create.cc
@@ -20,6 +20,7 @@
#include <string>
#include <iostream>
#include <cstdlib>
+#include <stdexcept>
#include <getopt.h>
#include <boost/filesystem.hpp>
#include "lib/version.h"
@@ -34,6 +35,7 @@ using std::string;
using std::cout;
using std::cerr;
using std::list;
+using std::exception;
using boost::shared_ptr;
static void
@@ -98,31 +100,37 @@ main (int argc, char* argv[])
dcpomatic_setup ();
ui_signaller = new UISignaller ();
- shared_ptr<Film> film (new Film (output));
- if (!name.empty ()) {
- film->set_name (name);
- }
-
- for (int i = optind; i < argc; ++i) {
- film->examine_and_add_content (content_factory (film, argv[i]));
- }
-
- JobManager* jm = JobManager::instance ();
- while (jm->work_to_do ()) {
- ui_signaller->ui_idle ();
- }
-
- if (jm->errors ()) {
- list<shared_ptr<Job> > jobs = jm->get ();
- for (list<shared_ptr<Job> >::iterator i = jobs.begin(); i != jobs.end(); ++i) {
- if ((*i)->finished_in_error ()) {
- cerr << (*i)->error_summary () << "\n"
- << (*i)->error_details () << "\n";
+ try {
+ shared_ptr<Film> film (new Film (output));
+ if (!name.empty ()) {
+ film->set_name (name);
+ }
+
+ for (int i = optind; i < argc; ++i) {
+ film->examine_and_add_content (content_factory (film, argv[i]));
+ }
+
+ JobManager* jm = JobManager::instance ();
+ while (jm->work_to_do ()) {
+ ui_signaller->ui_idle ();
+ }
+
+ if (jm->errors ()) {
+ list<shared_ptr<Job> > jobs = jm->get ();
+ for (list<shared_ptr<Job> >::iterator i = jobs.begin(); i != jobs.end(); ++i) {
+ if ((*i)->finished_in_error ()) {
+ cerr << (*i)->error_summary () << "\n"
+ << (*i)->error_details () << "\n";
+ }
}
+ exit (EXIT_FAILURE);
}
+
+ film->write_metadata ();
+ } catch (exception& e) {
+ cerr << argv[0] << ": " << e.what() << "\n";
exit (EXIT_FAILURE);
}
-
- film->write_metadata ();
+
return 0;
}
diff --git a/src/tools/server_test.cc b/src/tools/server_test.cc
index b2c5e784b..039088862 100644
--- a/src/tools/server_test.cc
+++ b/src/tools/server_test.cc
@@ -137,14 +137,14 @@ main (int argc, char* argv[])
dcpomatic_setup ();
- server = new ServerDescription (server_host, 1);
- film.reset (new Film (film_dir));
- film->read_metadata ();
-
- shared_ptr<Player> player = film->make_player ();
- player->disable_audio ();
-
try {
+ server = new ServerDescription (server_host, 1);
+ film.reset (new Film (film_dir));
+ film->read_metadata ();
+
+ shared_ptr<Player> player = film->make_player ();
+ player->disable_audio ();
+
player->Video.connect (boost::bind (process_video, _1, _2, _3, _5));
bool done = false;
while (!done) {