version 1.398, 2023/09/06 23:21:36 |
version 1.399, 2023/09/06 23:23:53 |
|
|
} |
} |
options->subsystem_name[options->num_subsystems] = xstrdup(arg); |
options->subsystem_name[options->num_subsystems] = xstrdup(arg); |
arg = argv_next(&ac, &av); |
arg = argv_next(&ac, &av); |
if (!arg || *arg == '\0') |
if (!arg || *arg == '\0') { |
fatal("%s line %d: Missing subsystem command.", |
fatal("%s line %d: Missing subsystem command.", |
filename, linenum); |
filename, linenum); |
options->subsystem_command[options->num_subsystems] = xstrdup(arg); |
|
|
|
/* Collect arguments (separate to executable) */ |
|
p = xstrdup(arg); |
|
len = strlen(p) + 1; |
|
while ((arg = argv_next(&ac, &av)) != NULL) { |
|
len += 1 + strlen(arg); |
|
p = xreallocarray(p, 1, len); |
|
strlcat(p, " ", len); |
|
strlcat(p, arg, len); |
|
} |
} |
options->subsystem_args[options->num_subsystems] = p; |
options->subsystem_command[options->num_subsystems] = |
|
xstrdup(arg); |
|
/* Collect arguments (separate to executable) */ |
|
arg = argv_assemble(1, &arg); /* quote command correctly */ |
|
arg2 = argv_assemble(ac, av); /* rest of command */ |
|
xasprintf(&options->subsystem_args[options->num_subsystems], |
|
"%s %s", arg, arg2); |
|
free(arg2); |
|
argv_consume(&ac); |
options->num_subsystems++; |
options->num_subsystems++; |
break; |
break; |
|
|