Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a77e218 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf strlist: Make dupstr be the default and part of an extensible config parm

So that we can pass more info to strlist__new() without having to change
its function signature, just adding entries to the strlist_config struct
with sensible defaults for when those fields are not specified.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-5uaaler4931i0s9sedxjquhq@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent ab7322af
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -363,7 +363,7 @@ int cmd_buildid_cache(int argc, const char **argv,
	setup_pager();
	setup_pager();


	if (add_name_list_str) {
	if (add_name_list_str) {
		list = strlist__new(true, add_name_list_str);
		list = strlist__new(add_name_list_str, NULL);
		if (list) {
		if (list) {
			strlist__for_each(pos, list)
			strlist__for_each(pos, list)
				if (build_id_cache__add_file(pos->s)) {
				if (build_id_cache__add_file(pos->s)) {
@@ -381,7 +381,7 @@ int cmd_buildid_cache(int argc, const char **argv,
	}
	}


	if (remove_name_list_str) {
	if (remove_name_list_str) {
		list = strlist__new(true, remove_name_list_str);
		list = strlist__new(remove_name_list_str, NULL);
		if (list) {
		if (list) {
			strlist__for_each(pos, list)
			strlist__for_each(pos, list)
				if (build_id_cache__remove_file(pos->s)) {
				if (build_id_cache__remove_file(pos->s)) {
@@ -399,7 +399,7 @@ int cmd_buildid_cache(int argc, const char **argv,
	}
	}


	if (purge_name_list_str) {
	if (purge_name_list_str) {
		list = strlist__new(true, purge_name_list_str);
		list = strlist__new(purge_name_list_str, NULL);
		if (list) {
		if (list) {
			strlist__for_each(pos, list)
			strlist__for_each(pos, list)
				if (build_id_cache__purge_path(pos->s)) {
				if (build_id_cache__purge_path(pos->s)) {
@@ -420,7 +420,7 @@ int cmd_buildid_cache(int argc, const char **argv,
		ret = build_id_cache__fprintf_missing(session, stdout);
		ret = build_id_cache__fprintf_missing(session, stdout);


	if (update_name_list_str) {
	if (update_name_list_str) {
		list = strlist__new(true, update_name_list_str);
		list = strlist__new(update_name_list_str, NULL);
		if (list) {
		if (list) {
			strlist__for_each(pos, list)
			strlist__for_each(pos, list)
				if (build_id_cache__update_file(pos->s)) {
				if (build_id_cache__update_file(pos->s)) {
+1 −1
Original line number Original line Diff line number Diff line
@@ -2931,7 +2931,7 @@ int cmd_trace(int argc, const char **argv, const char *prefix __maybe_unused)
		trace.not_ev_qualifier = *s == '!';
		trace.not_ev_qualifier = *s == '!';
		if (trace.not_ev_qualifier)
		if (trace.not_ev_qualifier)
			++s;
			++s;
		trace.ev_qualifier = strlist__new(true, s);
		trace.ev_qualifier = strlist__new(s, NULL);
		if (trace.ev_qualifier == NULL) {
		if (trace.ev_qualifier == NULL) {
			fputs("Not enough memory to parse event qualifier",
			fputs("Not enough memory to parse event qualifier",
			      trace.output);
			      trace.output);
+1 −1
Original line number Original line Diff line number Diff line
@@ -291,7 +291,7 @@ int build_id_cache__list_build_ids(const char *pathname,
	struct dirent *d;
	struct dirent *d;
	int ret = 0;
	int ret = 0;


	list = strlist__new(true, NULL);
	list = strlist__new(NULL, NULL);
	dir_name = build_id_cache__dirname_from_path(pathname, false, false);
	dir_name = build_id_cache__dirname_from_path(pathname, false, false);
	if (!list || !dir_name) {
	if (!list || !dir_name) {
		ret = -ENOMEM;
		ret = -ENOMEM;
+1 −1
Original line number Original line Diff line number Diff line
@@ -250,7 +250,7 @@ struct machine *machines__findnew(struct machines *machines, pid_t pid)
			static struct strlist *seen;
			static struct strlist *seen;


			if (!seen)
			if (!seen)
				seen = strlist__new(true, NULL);
				seen = strlist__new(NULL, NULL);


			if (!strlist__has_entry(seen, path)) {
			if (!strlist__has_entry(seen, path)) {
				pr_err("Can't access file %s\n", path);
				pr_err("Can't access file %s\n", path);
+2 −2
Original line number Original line Diff line number Diff line
@@ -2066,7 +2066,7 @@ static struct strlist *get_probe_trace_command_rawlist(int fd)
	char *p;
	char *p;
	struct strlist *sl;
	struct strlist *sl;


	sl = strlist__new(true, NULL);
	sl = strlist__new(NULL, NULL);


	fp = fdopen(dup(fd), "r");
	fp = fdopen(dup(fd), "r");
	while (!feof(fp)) {
	while (!feof(fp)) {
@@ -2362,7 +2362,7 @@ static struct strlist *get_probe_trace_event_names(int fd, bool include_group)
	rawlist = get_probe_trace_command_rawlist(fd);
	rawlist = get_probe_trace_command_rawlist(fd);
	if (!rawlist)
	if (!rawlist)
		return NULL;
		return NULL;
	sl = strlist__new(true, NULL);
	sl = strlist__new(NULL, NULL);
	strlist__for_each(ent, rawlist) {
	strlist__for_each(ent, rawlist) {
		ret = parse_probe_trace_command(ent->s, &tev);
		ret = parse_probe_trace_command(ent->s, &tev);
		if (ret < 0)
		if (ret < 0)
Loading