Lines Matching refs:argv

126 static int handle_options(const char ***argv, int *argc, int *envchanged)
131 const char *cmd = (*argv)[0];
168 setenv(PERF_DIR_ENVIRONMENT, (*argv)[1], 1);
171 (*argv)++;
183 setenv(PERF_WORK_TREE_ENVIRONMENT, (*argv)[1], 1);
186 (*argv)++;
197 perf_debugfs_set_path((*argv)[1]);
200 (*argv)++;
220 (*argv)++;
227 static int handle_alias(int *argcp, const char ***argv)
235 alias_command = (*argv)[0];
244 sq_quote_argv(&buf, (*argv) + 1, PATH_MAX);
276 memcpy(new_argv + count, *argv + 1, sizeof(char *) * *argcp);
279 *argv = new_argv;
300 static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
319 status = p->fn(argc, argv, prefix);
351 static void handle_internal_command(int argc, const char **argv)
353 const char *cmd = argv[0];
358 i = strlen(argv[0]) - strlen(ext);
359 if (i > 0 && !strcmp(argv[0] + i, ext)) {
360 char *argv0 = strdup(argv[0]);
361 argv[0] = cmd = argv0;
367 if (argc > 1 && !strcmp(argv[1], "--help")) {
368 argv[1] = argv[0];
369 argv[0] = cmd = "help";
376 exit(run_builtin(p, argc, argv));
380 static void execv_dashed_external(const char **argv)
386 strbuf_addf(&cmd, "perf-%s", argv[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.buf;
401 status = run_command_v_opt(argv, 0);
404 die("unable to run '%s'", argv[0]);
409 argv[0] = tmp;
414 static int run_argv(int *argcp, const char ***argv)
420 handle_internal_command(*argcp, *argv);
423 execv_dashed_external(*argv);
429 if (done_alias || !handle_alias(argcp, argv))
455 int main(int argc, const char **argv)
461 cmd = perf_extract_argv0_path(argv[0]);
478 argv[0] = cmd;
479 handle_internal_command(argc, argv);
485 argv++;
487 handle_options(&argv, &argc, NULL);
492 if (!prefixcmp(argv[0], "--"))
493 argv[0] += 2;
501 cmd = argv[0];
521 int was_alias = run_argv(&argc, &argv);
529 cmd, argv[0]);
533 cmd = argv[0] = help_unknown_cmd(cmd);