perf annotate: Don't die() when finding an invalid config option
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 22 Oct 2015 21:10:52 +0000 (18:10 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 22 Oct 2015 21:10:52 +0000 (18:10 -0300)
The perf_config() infrastructure we inherited from git calls die() when
the provided config callback returns -1, meaning some key in a config
section is unexpected, that seems ok for a stdio based tool, but in
--tui we end up messing up the output, so just tell the user about the
error, wait for a keystroke and return 0, being more resilient and
proceeding with what we managed to parse.

That die() needs to die, tho :-)

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-pqtsffh2kwr5mwm4qg9kgotu@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/annotate.c

index ba72e01..d4d7cc2 100644 (file)
@@ -1152,9 +1152,9 @@ static int annotate__config(const char *var, const char *value,
                      sizeof(struct annotate_config), annotate_config__cmp);
 
        if (cfg == NULL)
-               return -1;
-
-       *cfg->value = perf_config_bool(name, value);
+               ui__warning("%s variable unknown, ignoring...", var);
+       else
+               *cfg->value = perf_config_bool(name, value);
        return 0;
 }