Add some missing ArgFixers for Windows command lines (#2844).
authorCarl Hetherington <cth@carlh.net>
Sat, 6 Jul 2024 07:32:10 +0000 (09:32 +0200)
committerCarl Hetherington <cth@carlh.net>
Sat, 6 Jul 2024 07:32:10 +0000 (09:32 +0200)
src/lib/kdm_cli.cc
src/tools/dcpomatic_cli.cc
src/tools/dcpomatic_create.cc
src/tools/dcpomatic_server_cli.cc

index 4199f84302231cd30d0c1a19a5eec6633b1f2d77..ee962225541695a5c832a4f5708e16f10c78997a 100644 (file)
@@ -25,6 +25,7 @@
 
 
 #include "cinema.h"
+#include "cross.h"
 #include "config.h"
 #include "dkdm_wrapper.h"
 #include "email.h"
@@ -458,6 +459,8 @@ optional<string>
 kdm_cli (int argc, char* argv[], std::function<void (string)> out)
 try
 {
+       ArgFixer fixer(argc, argv);
+
        boost::filesystem::path output = dcp::filesystem::current_path();
        auto container_name_format = Config::instance()->kdm_container_name_format();
        auto filename_format = Config::instance()->kdm_filename_format();
@@ -512,7 +515,7 @@ try
                        { 0, 0, 0, 0 }
                };
 
-               int c = getopt_long (argc, argv, "ho:K:Z:f:t:d:F:pae::zvc:S:C:T:BDE:G", long_options, &option_index);
+               int c = getopt_long(fixer.argc(), fixer.argv(), "ho:K:Z:f:t:d:F:pae::zvc:S:C:T:BDE:G", long_options, &option_index);
 
                if (c == -1) {
                        break;
@@ -646,7 +649,7 @@ try
                throw KDMCLIError ("you must specify --valid-from");
        }
 
-       if (optind >= argc) {
+       if (optind >= fixer.argc()) {
                throw KDMCLIError ("no film, CPL ID or DKDM specified");
        }
 
index 65252ff29dfd1efb6d8804d8a336840446f9a122..5a7ec3c7200ee4636059c22fa3d976ede2038865 100644 (file)
@@ -260,6 +260,9 @@ show_jobs_on_console (bool progress)
 int
 main (int argc, char* argv[])
 {
+       ArgFixer fixer(argc, argv);
+       auto const program_name = fixer.argv()[0];
+
        boost::filesystem::path film_dir;
        bool progress = true;
        bool no_remote = false;
@@ -300,7 +303,7 @@ main (int argc, char* argv[])
                        { 0, 0, 0, 0 }
                };
 
-               int c = getopt_long (argc, argv, "vhfnrt:j:kAs:ldc:BC:D:E", long_options, &option_index);
+               int c = getopt_long(fixer.argc(), fixer.argv(), "vhfnrt:j:kAs:ldc:BC:D:E", long_options, &option_index);
 
                if (c == -1) {
                        break;
@@ -311,7 +314,7 @@ main (int argc, char* argv[])
                        cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
                        exit (EXIT_SUCCESS);
                case 'h':
-                       help (argv[0]);
+                       help(program_name);
                        exit (EXIT_SUCCESS);
                case 'f':
                        cout << dcpomatic_cxx_flags << "\n";
@@ -387,8 +390,8 @@ main (int argc, char* argv[])
                exit (EXIT_SUCCESS);
        }
 
-       if (optind >= argc) {
-               help (argv[0]);
+       if (optind >= fixer.argc()) {
+               help(program_name);
                exit (EXIT_FAILURE);
        }
 
@@ -407,7 +410,7 @@ main (int argc, char* argv[])
                exit (EXIT_FAILURE);
        }
 
-       film_dir = argv[optind];
+       film_dir = fixer.argv()[optind];
 
        dcpomatic_setup_path_encoding ();
        dcpomatic_setup ();
@@ -430,7 +433,7 @@ main (int argc, char* argv[])
                film.reset (new Film (film_dir));
                film->read_metadata ();
        } catch (std::exception& e) {
-               cerr << argv[0] << ": error reading film `" << film_dir.string() << "' (" << e.what() << ")\n";
+               cerr << program_name << ": error reading film `" << film_dir.string() << "' (" << e.what() << ")\n";
                exit (EXIT_FAILURE);
        }
 
@@ -445,7 +448,7 @@ main (int argc, char* argv[])
                auto paths = i->paths();
                for (auto j: paths) {
                        if (!dcp::filesystem::exists(j)) {
-                               cerr << argv[0] << ": content file " << j << " not found.\n";
+                               cerr << program_name << ": content file " << j << " not found.\n";
                                exit (EXIT_FAILURE);
                        }
                }
index 5b5f4dba2455f48739679a9f62a06d80ea3ada26..e0d5b3973d4988f15b779c1f7c88a9163297ab53 100644 (file)
@@ -70,10 +70,12 @@ public:
 int
 main (int argc, char* argv[])
 {
+       ArgFixer fixer(argc, argv);
+
        dcpomatic_setup_path_encoding ();
        dcpomatic_setup ();
 
-       CreateCLI cc (argc, argv);
+       CreateCLI cc(fixer.argc(), fixer.argv());
        if (cc.error) {
                cerr << *cc.error << "\n";
                exit (1);
index 6d7f6aba729ae06113de78f76ae9bbd5ab8dba68..023099034ccdd8fba4aecf751aae857ce767bcf9 100644 (file)
@@ -62,6 +62,9 @@ help (string n)
 int
 main (int argc, char* argv[])
 {
+       ArgFixer fixer(argc, argv);
+       auto const program_name = fixer.argv()[0];
+
        dcpomatic_setup_path_encoding ();
        dcpomatic_setup ();
 
@@ -80,7 +83,7 @@ main (int argc, char* argv[])
                        { 0, 0, 0, 0 }
                };
 
-               int c = getopt_long (argc, argv, "vht:AB", long_options, &option_index);
+               int c = getopt_long(fixer.argc(), fixer.argv(), "vht:AB", long_options, &option_index);
 
                if (c == -1) {
                        break;
@@ -91,7 +94,7 @@ main (int argc, char* argv[])
                        cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
                        exit (EXIT_SUCCESS);
                case 'h':
-                       help (argv[0]);
+                       help(program_name);
                        exit (EXIT_SUCCESS);
                case 't':
                        num_threads = atoi (optarg);
@@ -115,12 +118,12 @@ main (int argc, char* argv[])
                server.run ();
        } catch (boost::system::system_error& e) {
                if (e.code() == boost::system::errc::address_in_use) {
-                       cerr << argv[0] << ": address already in use.  Is another DCP-o-matic server instance already running?\n";
+                       cerr << program_name << ": address already in use.  Is another DCP-o-matic server instance already running?\n";
                        exit (EXIT_FAILURE);
                }
-               cerr << argv[0] << ": " << e.what() << "\n";
+               cerr << program_name << ": " << e.what() << "\n";
        } catch (std::exception& e) {
-               cerr << argv[0] << ": failed to start server; " << e.what() << "\n";
+               cerr << program_name << ": failed to start server; " << e.what() << "\n";
        }
        return 0;
 }