perf tools: Add dsos__addnew function
tip-bot for Jiri Olsa
merge botCommit-ID: 701d8d7f861ec36f3bc60d1ddb185cceb7919c79 Gitweb: http://git.kernel.org/tip/701d8d7f861ec36f3bc60d1ddb185cceb7919c79 Author: Jiri Olsa <[email protected]> AuthorDate: Thu, 12 Feb 2015 22:06:09 +0100 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Sat, 21 Mar 2015 14:53:42 -0300
perf tools: Add dsos__addnew function
Separate the creation of new dso object and its addition to the dsos list. It will be used in following patch.
Signed-off-by Jiri Olsa <[email protected]>
Acked-by Namhyung Kim <[email protected]>
Cc Adrian Hunter <[email protected]>
Cc Corey Ashford <[email protected]>
Cc David Ahern <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/dso.c | 21 ++++++++++++--------- tools/perf/util/dso.h | 1 + 2 files changed, 13 insertions(+), 9 deletions(-)
tools/perf/util/dso.c +12 -9
@@ -1071,21 +1071,24 @@ struct dso *dsos__find(const struct dsos *dsos, const char *name,return dso__find_by_longname (&dsos->root, name); } -struct dso *__dsos__findnew (struct dsos *dsos,const char *name) +struct dso *dsos__addnew (struct dsos *dsos,const char *name) { -struct dso *dso =dsos__find (dsos, name, false); +struct dso *dso =dso__new (name); -if (!dso) { - dso =dso__new (name); -if (dso !=NULL ) { -dsos__add (dsos, dso); -dso__set_basename (dso); - } +if (dso !=NULL ) { +dsos__add (dsos, dso); +dso__set_basename (dso); } -return dso; } +struct dso *__dsos__findnew (struct dsos *dsos,const char *name) +{ +struct dso *dso =dsos__find (dsos, name, false); + +return dso ? dso :dsos__addnew (dsos, name); +} +size_t __dsos__fprintf_buildid (struct list_head *head,FILE *fp,bool (skip )(struct dso *dso,int parm),int parm) {
tools/perf/util/dso.h +1 -0
@@ -264,6 +264,7 @@ struct dso *dso__kernel_findnew(struct machine *machine, const char *name, const char *short_name, int dso_type);void dsos__add (struct dsos *dsos,struct dso *dso); +struct dso *dsos__addnew (struct dsos *dsos,const char *name);struct dso *dsos__find (const struct dsos *dsos,const char *name,bool cmp_short);struct dso *__dsos__findnew (struct dsos *dsos,const char *name);