perf report: Postpone setting up browser after parsing options
authorNamhyung Kim <namhyung.kim@lge.com>
Fri, 1 Nov 2013 07:33:12 +0000 (16:33 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 4 Nov 2013 15:54:32 +0000 (12:54 -0300)
If setup_browser() called earlier than option parsing, the actual error
message can be discarded during the terminal reset.  So move it after
setup_sorting() checks whether the sort keys are valid.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Enthusiastically-Supported-by: Ingo Molnar <mingo@kernel.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>
Link: http://lkml.kernel.org/r/1383291195-24386-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-report.c

index 98d3891..4df3161 100644 (file)
@@ -905,13 +905,6 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
                        input_name = "perf.data";
        }
 
-       if (strcmp(input_name, "-") != 0)
-               setup_browser(true);
-       else {
-               use_browser = 0;
-               perf_hpp__init();
-       }
-
        file.path  = input_name;
        file.force = report.force;
 
@@ -957,6 +950,18 @@ repeat:
        if (setup_sorting() < 0)
                usage_with_options(report_usage, options);
 
+       if (parent_pattern != default_parent_pattern) {
+               if (sort_dimension__add("parent") < 0)
+                       goto error;
+       }
+
+       if (strcmp(input_name, "-") != 0)
+               setup_browser(true);
+       else {
+               use_browser = 0;
+               perf_hpp__init();
+       }
+
        /*
         * Only in the TUI browser we are doing integrated annotation,
         * so don't allocate extra space that won't be used in the stdio
@@ -986,11 +991,6 @@ repeat:
        if (symbol__init() < 0)
                goto error;
 
-       if (parent_pattern != default_parent_pattern) {
-               if (sort_dimension__add("parent") < 0)
-                       goto error;
-       }
-
        if (argc) {
                /*
                 * Special case: if there's an argument left then assume that