4 struct perf_env perf_env;
6 void perf_env__exit(struct perf_env *env)
9 zfree(&env->os_release);
12 zfree(&env->cpu_desc);
15 zfree(&env->cmdline_argv);
16 zfree(&env->sibling_cores);
17 zfree(&env->sibling_threads);
18 zfree(&env->numa_nodes);
19 zfree(&env->pmu_mappings);
23 int perf_env__set_cmdline(struct perf_env *env, int argc, const char *argv[])
28 * If env->cmdline_argv has already been set, do not override it. This allows
29 * a command to set the cmdline, parse args and then call another
30 * builtin function that implements a command -- e.g, cmd_kvm calling
33 if (env->cmdline_argv != NULL)
36 /* do not include NULL termination */
37 env->cmdline_argv = calloc(argc, sizeof(char *));
38 if (env->cmdline_argv == NULL)
42 * Must copy argv contents because it gets moved around during option
45 for (i = 0; i < argc ; i++) {
46 env->cmdline_argv[i] = argv[i];
47 if (env->cmdline_argv[i] == NULL)
51 env->nr_cmdline = argc;
55 zfree(&env->cmdline_argv);