perf report: Refactor common code in srcline.c
authorJin Yao <yao.jin@linux.intel.com>
Sat, 25 Mar 2017 20:34:25 +0000 (04:34 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 27 Mar 2017 14:59:23 +0000 (11:59 -0300)
commit5580338d0f207921bc1fef5b668cd564adcc3419
tree0ef03c35c38b64667e75594cdc93dcb00330661c
parentb0ad8ea66445d64a469df0c710947f4cdb8ef16b
perf report: Refactor common code in srcline.c

Introduce dso__name() and filename_split() out of existing code because
these codes will be used in several places in next patch.

For filename_split(), it may also solve a potential memory leak in
existing code. In existing addr2line(),

        sep = strchr(filename, ':');
        if (sep) {
                *sep++ = '\0';
                *file = filename;
                *line_nr = strtoul(sep, NULL, 0);
                ret = 1;
        }

out:
        pclose(fp);
        return ret;

If sep is NULL, filename is not freed or returned via file.

Signed-off-by: Yao Jin <yao.jin@linux.intel.com>
Tested-by: Milian Wolff <milian.wolff@kdab.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Link: http://lkml.kernel.org/r/1490474069-15823-2-git-send-email-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/srcline.c