lkml.org 
[lkml]   [2016]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf hists: Separate output fields parsing into setup_output_list function
    Commit-ID:  6d3375efebe906ad0ce55ddaa883bf41fd8c444b
    Gitweb: http://git.kernel.org/tip/6d3375efebe906ad0ce55ddaa883bf41fd8c444b
    Author: Jiri Olsa <jolsa@kernel.org>
    AuthorDate: Mon, 18 Jan 2016 10:24:11 +0100
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Wed, 3 Feb 2016 12:24:09 -0300

    perf hists: Separate output fields parsing into setup_output_list function

    Separating output fields parsing into setup_output_list function, so
    it's separated from field_order string setup and could be reused later
    in following patches.

    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1453109064-1026-14-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/sort.c | 34 ++++++++++++++++++++++------------
    1 file changed, 22 insertions(+), 12 deletions(-)

    diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
    index ab1c21a..36dbd55 100644
    --- a/tools/perf/util/sort.c
    +++ b/tools/perf/util/sort.c
    @@ -2535,6 +2535,26 @@ static int output_field_add(char *tok)
    return -ESRCH;
    }

    +static int setup_output_list(char *str)
    +{
    + char *tmp, *tok;
    + int ret = 0;
    +
    + for (tok = strtok_r(str, ", ", &tmp);
    + tok; tok = strtok_r(NULL, ", ", &tmp)) {
    + ret = output_field_add(tok);
    + if (ret == -EINVAL) {
    + error("Invalid --fields key: `%s'", tok);
    + break;
    + } else if (ret == -ESRCH) {
    + error("Unknown --fields key: `%s'", tok);
    + break;
    + }
    + }
    +
    + return ret;
    +}
    +
    static void reset_dimensions(void)
    {
    unsigned int i;
    @@ -2559,7 +2579,7 @@ bool is_strict_order(const char *order)

    static int __setup_output_field(void)
    {
    - char *tmp, *tok, *str, *strp;
    + char *str, *strp;
    int ret = -EINVAL;

    if (field_order == NULL)
    @@ -2579,17 +2599,7 @@ static int __setup_output_field(void)
    goto out;
    }

    - for (tok = strtok_r(strp, ", ", &tmp);
    - tok; tok = strtok_r(NULL, ", ", &tmp)) {
    - ret = output_field_add(tok);
    - if (ret == -EINVAL) {
    - error("Invalid --fields key: `%s'", tok);
    - break;
    - } else if (ret == -ESRCH) {
    - error("Unknown --fields key: `%s'", tok);
    - break;
    - }
    - }
    + ret = setup_output_list(strp);

    out:
    free(str);
    \
     
     \ /
      Last update: 2016-02-04 14:21    [W:2.145 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site