Don't dump empty error details.
[dcpomatic.git] / src / tools / dcpomatic_create.cc
index a4f8dda6ac65e36435133a0d327ece208ee86e37..345c0182bc8215765c9b57de17469f114a51f9e8 100644 (file)
@@ -125,7 +125,9 @@ main (int argc, char* argv[])
                        if (boost::filesystem::exists (can / "ASSETMAP") || (boost::filesystem::exists (can / "ASSETMAP.xml"))) {
                                auto dcp = make_shared<DCPContent>(can);
                                film_content_list.push_back (dcp);
-                               dcp->add_kdm (dcp::EncryptedKDM(dcp::file_to_string(*cli_content.kdm)));
+                               if (cli_content.kdm) {
+                                       dcp->add_kdm (dcp::EncryptedKDM(dcp::file_to_string(*cli_content.kdm)));
+                               }
                        } else {
                                /* I guess it's not a DCP */
                                film_content_list = content_factory (can);
@@ -174,8 +176,10 @@ main (int argc, char* argv[])
                if (jm->errors ()) {
                        for (auto i: jm->get()) {
                                if (i->finished_in_error()) {
-                                       cerr << i->error_summary() << "\n"
-                                            << i->error_details() << "\n";
+                                       cerr << i->error_summary() << "\n";
+                                       if (!i->error_details().empty()) {
+                                            cout << i->error_details() << "\n";
+                                       }
                                }
                        }
                        exit (EXIT_FAILURE);