perf sort: Factor out common code in sort_dimension__add()
authorNamhyung Kim <namhyung.kim@lge.com>
Wed, 3 Apr 2013 12:26:10 +0000 (21:26 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 28 May 2013 13:23:53 +0000 (16:23 +0300)
Let's remove duplicate code.

Suggested-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1364991979-3008-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/sort.c

index a6ddad4..a997955 100644 (file)
@@ -895,6 +895,21 @@ static struct sort_dimension bstack_sort_dimensions[] = {
 
 #undef DIM
 
+static void __sort_dimension__add(struct sort_dimension *sd, enum sort_type idx)
+{
+       if (sd->taken)
+               return;
+
+       if (sd->entry->se_collapse)
+               sort__need_collapse = 1;
+
+       if (list_empty(&hist_entry__sort_list))
+               sort__first_dimension = idx;
+
+       list_add_tail(&sd->entry->list, &hist_entry__sort_list);
+       sd->taken = 1;
+}
+
 int sort_dimension__add(const char *tok)
 {
        unsigned int i;
@@ -922,18 +937,7 @@ int sort_dimension__add(const char *tok)
                        sort__has_sym = 1;
                }
 
-               if (sd->taken)
-                       return 0;
-
-               if (sd->entry->se_collapse)
-                       sort__need_collapse = 1;
-
-               if (list_empty(&hist_entry__sort_list))
-                       sort__first_dimension = i;
-
-               list_add_tail(&sd->entry->list, &hist_entry__sort_list);
-               sd->taken = 1;
-
+               __sort_dimension__add(sd, i);
                return 0;
        }
 
@@ -949,18 +953,7 @@ int sort_dimension__add(const char *tok)
                if (sd->entry == &sort_sym_from || sd->entry == &sort_sym_to)
                        sort__has_sym = 1;
 
-               if (sd->taken)
-                       return 0;
-
-               if (sd->entry->se_collapse)
-                       sort__need_collapse = 1;
-
-               if (list_empty(&hist_entry__sort_list))
-                       sort__first_dimension = i + __SORT_BRANCH_STACK;
-
-               list_add_tail(&sd->entry->list, &hist_entry__sort_list);
-               sd->taken = 1;
-
+               __sort_dimension__add(sd, i + __SORT_BRANCH_STACK);
                return 0;
        }