diff options
Diffstat (limited to 'tools/perf/ui/browsers')
| -rw-r--r-- | tools/perf/ui/browsers/map.c | 44 | 
1 files changed, 6 insertions, 38 deletions
diff --git a/tools/perf/ui/browsers/map.c b/tools/perf/ui/browsers/map.c index 98851d55a53..10b549c0eef 100644 --- a/tools/perf/ui/browsers/map.c +++ b/tools/perf/ui/browsers/map.c @@ -1,6 +1,5 @@  #include "../libslang.h"  #include <elf.h> -#include <newt.h>  #include <inttypes.h>  #include <sys/ttydefaults.h>  #include <string.h> @@ -10,41 +9,9 @@  #include "../../util/symbol.h"  #include "../browser.h"  #include "../helpline.h" +#include "../keysyms.h"  #include "map.h" -static int ui_entry__read(const char *title, char *bf, size_t size, int width) -{ -	struct newtExitStruct es; -	newtComponent form, entry; -	const char *result; -	int err = -1; - -	newtCenteredWindow(width, 1, title); -	form = newtForm(NULL, NULL, 0); -	if (form == NULL) -		return -1; - -	entry = newtEntry(0, 0, "0x", width, &result, NEWT_FLAG_SCROLL); -	if (entry == NULL) -		goto out_free_form; - -	newtFormAddComponent(form, entry); -	newtFormAddHotKey(form, NEWT_KEY_ENTER); -	newtFormAddHotKey(form, NEWT_KEY_ESCAPE); -	newtFormAddHotKey(form, NEWT_KEY_LEFT); -	newtFormAddHotKey(form, CTRL('c')); -	newtFormRun(form, &es); - -	if (result != NULL) { -		strncpy(bf, result, size); -		err = 0; -	} -out_free_form: -	newtPopWindow(); -	newtFormDestroy(form); -	return err; -} -  struct map_browser {  	struct ui_browser b;  	struct map	  *map; @@ -78,10 +45,11 @@ static int map_browser__search(struct map_browser *self)  {  	char target[512];  	struct symbol *sym; -	int err = ui_entry__read("Search by name/addr", target, sizeof(target), 40); - -	if (err) -		return err; +	int err = ui_browser__input_window("Search by name/addr", +					   "Prefix with 0x to search by address", +					   target, "ENTER: OK, ESC: Cancel", 0); +	if (err != K_ENTER) +		return -1;  	if (target[0] == '0' && tolower(target[1]) == 'x') {  		u64 addr = strtoull(target, NULL, 16);  |