-
-int run_command_v(const char **argv)
-{
- return run_command_v_opt(argv, 0);
-}
-
-static int run_command_va_opt(int opt, const char *cmd, va_list param)
-{
- int argc;
- const char *argv[MAX_RUN_COMMAND_ARGS];
- const char *arg;
-
- argv[0] = (char*) cmd;
- argc = 1;
- while (argc < MAX_RUN_COMMAND_ARGS) {
- arg = argv[argc++] = va_arg(param, char *);
- if (!arg)
- break;
- }
- if (MAX_RUN_COMMAND_ARGS <= argc)
- return error("too many args to run %s", cmd);
- return run_command_v_opt(argv, opt);
-}
-
-int run_command_opt(int opt, const char *cmd, ...)
-{
- va_list params;
- int r;
-
- va_start(params, cmd);
- r = run_command_va_opt(opt, cmd, params);
- va_end(params);
- return r;
-}
-
-int run_command(const char *cmd, ...)
-{
- va_list params;
- int r;
-
- va_start(params, cmd);
- r = run_command_va_opt(0, cmd, params);
- va_end(params);
- return r;
-}