mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
nspawn: Allow : characters in nspawn --bind paths
: characters in bind paths can be entered as the \: escape sequence.
This commit is contained in:
parent
8adaf7bd23
commit
e4a5d9edee
@ -655,17 +655,22 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
|
||||
case ARG_BIND:
|
||||
case ARG_BIND_RO: {
|
||||
const char *current = optarg;
|
||||
_cleanup_free_ char *source = NULL, *destination = NULL;
|
||||
CustomMount *m;
|
||||
char *e;
|
||||
_cleanup_strv_free_ char **strv = NULL;
|
||||
|
||||
e = strchr(optarg, ':');
|
||||
if (e) {
|
||||
source = strndup(optarg, e - optarg);
|
||||
destination = strdup(e + 1);
|
||||
} else {
|
||||
source = strdup(optarg);
|
||||
destination = strdup(optarg);
|
||||
r = extract_many_words(¤t, ":", EXTRACT_DONT_COALESCE_SEPARATORS, &source, &destination, NULL);
|
||||
switch (r) {
|
||||
case 1:
|
||||
destination = strdup(source);
|
||||
case 2:
|
||||
break;
|
||||
case -ENOMEM:
|
||||
return log_oom();
|
||||
default:
|
||||
log_error("Invalid bind mount specification: %s", optarg);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!source || !destination)
|
||||
|
Loading…
x
Reference in New Issue
Block a user