Set up for the correct handling of UTF-8 with Windows
[dcpomatic.git] / src / tools / dcpomatic_server_cli.cc
index c74e258e8ff081680f3b799f354c5ee344ad937c..237673179a87074e35d3697e2a8dabcdb639f010 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@
 #include "lib/server.h"
 #include <iostream>
 #include <stdexcept>
-#include <sstream>
 #include <cstring>
 #include <vector>
 #include <unistd.h>
@@ -37,7 +36,6 @@
 #include "lib/exceptions.h"
 #include "lib/util.h"
 #include "lib/config.h"
-#include "lib/scaler.h"
 #include "lib/image.h"
 #include "lib/log.h"
 #include "lib/version.h"
@@ -61,6 +59,9 @@ help (string n)
 int
 main (int argc, char* argv[])
 {
+       dcpomatic_setup_path_encoding ();
+       dcpomatic_setup ();
+
        int num_threads = Config::instance()->num_local_encoding_threads ();
        bool verbose = false;
        bool write_log = false;
@@ -101,19 +102,18 @@ main (int argc, char* argv[])
                }
        }
 
-       Scaler::setup_scalers ();
        shared_ptr<Log> log;
        if (write_log) {
                log.reset (new FileLog ("dcpomatic_server_cli.log"));
        } else {
                log.reset (new NullLog);
        }
-       
+
        Server server (log, verbose);
-       
+
        try {
                server.run (num_threads);
-       } catch (boost::system::system_error e) {
+       } 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";
                        exit (EXIT_FAILURE);