static int parse_probe_event_argv(int argc, const char **argv) { int i, len, ret, found_target; char *buf; found_target = set_target(argv[0]); if (found_target < 0) return found_target; if (found_target && argc == 1) return 0; /* Bind up rest arguments */ len = 0; for (i = 0; i < argc; i++) { if (i == 0 && found_target) continue; len += strlen(argv[i]) + 1; } buf = zalloc(len + 1); if (buf == NULL) return -ENOMEM; len = 0; for (i = 0; i < argc; i++) { if (i == 0 && found_target) continue; len += sprintf(&buf[len], "%s ", argv[i]); } params.mod_events = true; ret = parse_probe_event(buf); free(buf); return ret; }
static int opt_add_probe_event(const struct option *opt, const char *str, int unset __maybe_unused) { if (str) { params.command = opt->short_name; return parse_probe_event(str); } return 0; }
static void parse_probe_event_argv(int argc, const char **argv) { int i, len; char *buf; /* Bind up rest arguments */ len = 0; for (i = 0; i < argc; i++) len += strlen(argv[i]) + 1; buf = zalloc(len + 1); if (!buf) die("Failed to allocate memory for binding arguments."); len = 0; for (i = 0; i < argc; i++) len += sprintf(&buf[len], "%s ", argv[i]); parse_probe_event(buf); free(buf); }
static int opt_show_vars(const struct option *opt, const char *str, int unset __maybe_unused) { struct perf_probe_event *pev = ¶ms.events[params.nevents]; int ret; if (!str) return 0; ret = parse_probe_event(str); if (!ret && pev->nargs != 0) { pr_err(" Error: '--vars' doesn't accept arguments.\n"); return -EINVAL; } params.command = opt->short_name; return ret; }
static int parse_probe_event_argv(int argc, const char **argv) { int i, len, ret; char *buf; /* Bind up rest arguments */ len = 0; for (i = 0; i < argc; i++) len += strlen(argv[i]) + 1; buf = zalloc(len + 1); if (buf == NULL) return -ENOMEM; len = 0; for (i = 0; i < argc; i++) len += sprintf(&buf[len], "%s ", argv[i]); ret = parse_probe_event(buf); free(buf); return ret; }