Browse Source

support [unescaped] double-quotes in jackdrc

allow autostart of jackd on OSX where device-names can
contain spaces.
tags/0.125.0rc1
Robin Gareus 10 years ago
parent
commit
e586d0df13
1 changed files with 23 additions and 7 deletions
  1. +23
    -7
      libjack/client.c

+ 23
- 7
libjack/client.c View File

@@ -932,17 +932,33 @@ _start_server (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;
}
argv[i] = (char*)malloc(result+1);

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

pos += result+1;
++i;
if (0 == result) {
break;
}

argv[i] = (char*)malloc(result + 1);
strncpy(argv[i], arguments + pos, result);
argv[i][result] = '\0';
pos += result + 1;
if (++i > 253) {
break;
}
}
argv[i] = 0;



Loading…
Cancel
Save