in cli/bpfcov.c [763:790]
void out_cmd(struct argp_state *state)
{
struct out_args args = {};
int argc = state->argc - state->next + 1;
char **argv = &state->argv[state->next - 1];
char *argv0 = argv[0];
args.parent = state->input;
log_debu(args.parent, "begin <out> (argc = %d, argv[0] = %s)\n", argc, argv[0]);
argv[0] = malloc(strlen(state->name) + strlen(" out") + 1);
if (!argv[0])
{
argp_failure(state, 1, ENOMEM, 0);
}
sprintf(argv[0], "%s out", state->name);
argp_parse(&out_argp, argc, argv, ARGP_IN_ORDER, &argc, &args);
free(argv[0]);
argv[0] = argv0;
state->next += argc - 1;
log_debu(args.parent, "end <out> (next = %d, argv[next] = %s)\n", state->next, state->argv[state->next]);
}