Browse Source

support [unescaped] double-quotes in jackdrc

allow autostart of jackd on OSX where device-names can
contain spaces.
tags/v1.9.11-RC1
Robin Gareus 10 years ago
parent
commit
886a64e02a
1 changed files with 23 additions and 3 deletions
  1. +23
    -3
      posix/JackPosixServerLaunch.cpp

+ 23
- 3
posix/JackPosixServerLaunch.cpp View File

@@ -148,16 +148,36 @@ static void start_server_classic_aux(const char* server_name)
}
}

result = strcspn(arguments + pos, " ");
if (result == 0) {
/* skip whitespace */
while (pos < strlen(arguments) && arguments[pos] && arguments[pos] == ' ') {
++pos;
}

if (pos >= strlen(arguments)) {
break;
}

if (arguments[pos] == '\"') {
++pos;
result = strcspn(arguments + pos, "\"");
} else {
result = strcspn(arguments + pos, " ");
}

if (0 == result) {
break;
}

argv[i] = (char*)malloc(result + 1);
strncpy(argv[i], arguments + pos, result);
argv[i][result] = '\0';
pos += result + 1;
++i;

if (++i > 253) {
break;
}
}

argv[i] = 0;
execv(command, argv);



Loading…
Cancel
Save