diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-02-05 14:52:23 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-02-05 14:52:23 +0000 |
| commit | d8a2e55855b50eda28ec7d394449274f5e085bd6 (patch) | |
| tree | 9d3110b4c306a80800259b6fd4b9045531e17064 /src/tools | |
| parent | ebe451c248c3accd1a564bcad5eabf9d32a971f3 (diff) | |
Fix some coverity-reported stuff.
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic_create.cc | 52 | ||||
| -rw-r--r-- | src/tools/server_test.cc | 14 |
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) { |
