JACK: add support for device names with whitespace
authorRobin Gareus <robin@gareus.org>
Wed, 14 Jan 2015 18:29:55 +0000 (19:29 +0100)
committerRobin Gareus <robin@gareus.org>
Wed, 14 Jan 2015 18:29:55 +0000 (19:29 +0100)
This is backwards compatible, quotes are only added if needed.
JACK1 < 0.123.1-30 and JACK2 < 1.9.10-25 fail with either
whitespace or quotes, so nothing is lost.

libs/backends/jack/jack_utils.cc

index 92e19985a045a5f41e25090e33b17184d3617c4a..cda7a6d8e780b12b451f496faf56f5e6b5fe4914 100644 (file)
@@ -892,7 +892,11 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c
        ostringstream oss;
 
        for (vector<string>::const_iterator i = args.begin(); i != args.end();) {
-               oss << *i;
+               if (i->find_first_of(' ') != string::npos) {
+                       oss << "\"" << *i << "\"";
+               } else {
+                       oss << *i;
+               }
                if (++i != args.end()) oss << ' ';
        }