Lines Matching refs:argv
180 static int handle_options(const char ***argv, int *argc, int *envchanged)
185 const char *cmd = (*argv)[0];
202 (*argv)[0] = "--help";
207 (*argv)[0] = "--version";
212 (*argv)[0] = "version";
242 tracing_path_set((*argv)[1]);
245 (*argv)++;
252 set_buildid_dir((*argv)[1]);
255 (*argv)++;
285 if (perf_debug_option((*argv)[1]))
288 (*argv)++;
295 (*argv)++;
305 static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
321 perf_env__set_cmdline(&perf_env, argc, argv);
322 status = p->fn(argc, argv);
358 static void handle_internal_command(int argc, const char **argv)
360 const char *cmd = argv[0];
364 if (argc > 1 && !strcmp(argv[1], "--help")) {
365 argv[1] = argv[0];
366 argv[0] = cmd = "help";
375 exit(run_builtin(p, argc, argv));
379 static void execv_dashed_external(const char **argv)
385 if (asprintf(&cmd, "perf-%s", argv[0]) < 0)
389 * argv[0] must be the perf command, but the argv array
391 * subsequent loop iterations. Save argv[0] and
394 tmp = argv[0];
395 argv[0] = cmd;
401 status = run_command_v_opt(argv, 0);
405 pr_err("FATAL: unable to run '%s'", argv[0]);
412 argv[0] = tmp;
416 static int run_argv(int *argcp, const char ***argv)
419 handle_internal_command(*argcp, *argv);
422 execv_dashed_external(*argv);
432 int main(int argc, const char **argv)
446 cmd = extract_argv0_path(argv[0]);
474 argv[0] = cmd;
475 handle_internal_command(argc, argv);
481 argv[0] = cmd;
494 argv[0] = "trace";
495 return cmd_trace(argc, argv);
499 argv++;
501 handle_options(&argv, &argc, NULL);
505 if (strstarts(argv[0], "--"))
506 argv[0] += 2;
514 cmd = argv[0];
535 run_argv(&argc, &argv);
541 cmd = argv[0] = help_unknown_cmd(cmd);