aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/ui/browsers/map.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-08-11 10:07:43 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-08-19 19:39:52 -0300
commitb50e003db13848dd74572ffd221047683313981d (patch)
tree84c50dd8f8251ffbb05bfa83b21f4a1e864efc63 /tools/perf/util/ui/browsers/map.c
parentperf ui browser: Abstract some more slang operations (diff)
downloadlinux-dev-b50e003db13848dd74572ffd221047683313981d.tar.xz
linux-dev-b50e003db13848dd74572ffd221047683313981d.zip
perf ui browser: Return the exit key in all browsers
Make all browsers return the exit key uniformly and remove the newtExitStruct parameter, removing one more newt specific thing from the ui API. Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/ui/browsers/map.c')
-rw-r--r--tools/perf/util/ui/browsers/map.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/tools/perf/util/ui/browsers/map.c b/tools/perf/util/ui/browsers/map.c
index 733daba60cd4..16b7d70f2c58 100644
--- a/tools/perf/util/ui/browsers/map.c
+++ b/tools/perf/util/ui/browsers/map.c
@@ -97,31 +97,34 @@ static int map_browser__search(struct map_browser *self)
return 0;
}
-static int map_browser__run(struct map_browser *self, struct newtExitStruct *es)
+static int map_browser__run(struct map_browser *self)
{
+ int key;
+
if (ui_browser__show(&self->b, self->map->dso->long_name,
"Press <- or ESC to exit, %s / to search",
verbose ? "" : "restart with -v to use") < 0)
return -1;
newtFormAddHotKey(self->b.form, NEWT_KEY_LEFT);
- newtFormAddHotKey(self->b.form, NEWT_KEY_ENTER);
+ newtFormAddHotKey(self->b.form, NEWT_KEY_ESCAPE);
+ newtFormAddHotKey(self->b.form, 'Q');
+ newtFormAddHotKey(self->b.form, 'q');
+ newtFormAddHotKey(self->b.form, CTRL('c'));
if (verbose)
newtFormAddHotKey(self->b.form, '/');
while (1) {
- ui_browser__run(&self->b, es);
+ key = ui_browser__run(&self->b);
- if (es->reason != NEWT_EXIT_HOTKEY)
- break;
- if (verbose && es->u.key == '/')
+ if (verbose && key == '/')
map_browser__search(self);
else
break;
}
ui_browser__hide(&self->b);
- return 0;
+ return key;
}
int map__browse(struct map *self)
@@ -135,7 +138,6 @@ int map__browse(struct map *self)
},
.map = self,
};
- struct newtExitStruct es;
struct rb_node *nd;
char tmp[BITS_PER_LONG / 4];
u64 maxaddr = 0;
@@ -156,5 +158,5 @@ int map__browse(struct map *self)
mb.addrlen = snprintf(tmp, sizeof(tmp), "%llx", maxaddr);
mb.b.width += mb.addrlen * 2 + 4 + mb.namelen;
- return map_browser__run(&mb, &es);
+ return map_browser__run(&mb);
}