perf ui browser: Introduce ui_browser__write_nstring()
To remove direct access to libslang functions, with the immediate goal of implementing horizontal scrolling at the ui_browser level, but also because we may at some point want to implement ui_browser with other UIs in addition to the current libslang implementation. 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> Link: http://lkml.kernel.org/n/tip-437ineavoejzou727mr9bxpi@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -141,22 +141,22 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
slsmg_printf("%6.2f ", bdl->samples[i].percent);
|
||||
}
|
||||
} else {
|
||||
slsmg_write_nstring(" ", 7 * ab->nr_events);
|
||||
ui_browser__write_nstring(browser, " ", 7 * ab->nr_events);
|
||||
}
|
||||
} else {
|
||||
ui_browser__set_percent_color(browser, 0, current_entry);
|
||||
slsmg_write_nstring(" ", 7 * ab->nr_events);
|
||||
ui_browser__write_nstring(browser, " ", 7 * ab->nr_events);
|
||||
}
|
||||
if (ab->have_cycles) {
|
||||
if (dl->ipc)
|
||||
slsmg_printf("%*.2f ", IPC_WIDTH - 1, dl->ipc);
|
||||
else
|
||||
slsmg_write_nstring(" ", IPC_WIDTH);
|
||||
ui_browser__write_nstring(browser, " ", IPC_WIDTH);
|
||||
if (dl->cycles)
|
||||
slsmg_printf("%*" PRIu64 " ",
|
||||
CYCLES_WIDTH - 1, dl->cycles);
|
||||
else
|
||||
slsmg_write_nstring(" ", CYCLES_WIDTH);
|
||||
ui_browser__write_nstring(browser, " ", CYCLES_WIDTH);
|
||||
}
|
||||
|
||||
SLsmg_write_char(' ');
|
||||
@@ -166,7 +166,7 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
width += 1;
|
||||
|
||||
if (!*dl->line)
|
||||
slsmg_write_nstring(" ", width - pcnt_width);
|
||||
ui_browser__write_nstring(browser, " ", width - pcnt_width);
|
||||
else if (dl->offset == -1) {
|
||||
if (dl->line_nr && annotate_browser__opts.show_linenr)
|
||||
printed = scnprintf(bf, sizeof(bf), "%-*d ",
|
||||
@@ -174,8 +174,8 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
else
|
||||
printed = scnprintf(bf, sizeof(bf), "%*s ",
|
||||
ab->addr_width, " ");
|
||||
slsmg_write_nstring(bf, printed);
|
||||
slsmg_write_nstring(dl->line, width - printed - pcnt_width + 1);
|
||||
ui_browser__write_nstring(browser, bf, printed);
|
||||
ui_browser__write_nstring(browser, dl->line, width - printed - pcnt_width + 1);
|
||||
} else {
|
||||
u64 addr = dl->offset;
|
||||
int color = -1;
|
||||
@@ -194,7 +194,7 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
bdl->jump_sources);
|
||||
prev = annotate_browser__set_jumps_percent_color(ab, bdl->jump_sources,
|
||||
current_entry);
|
||||
slsmg_write_nstring(bf, printed);
|
||||
ui_browser__write_nstring(browser, bf, printed);
|
||||
ui_browser__set_color(browser, prev);
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
|
||||
if (change_color)
|
||||
color = ui_browser__set_color(browser, HE_COLORSET_ADDR);
|
||||
slsmg_write_nstring(bf, printed);
|
||||
ui_browser__write_nstring(browser, bf, printed);
|
||||
if (change_color)
|
||||
ui_browser__set_color(browser, color);
|
||||
if (dl->ins && dl->ins->ops->scnprintf) {
|
||||
@@ -222,11 +222,11 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
ui_browser__write_graph(browser, SLSMG_RARROW_CHAR);
|
||||
SLsmg_write_char(' ');
|
||||
} else {
|
||||
slsmg_write_nstring(" ", 2);
|
||||
ui_browser__write_nstring(browser, " ", 2);
|
||||
}
|
||||
} else {
|
||||
if (strcmp(dl->name, "retq")) {
|
||||
slsmg_write_nstring(" ", 2);
|
||||
ui_browser__write_nstring(browser, " ", 2);
|
||||
} else {
|
||||
ui_browser__write_graph(browser, SLSMG_LARROW_CHAR);
|
||||
SLsmg_write_char(' ');
|
||||
@@ -234,7 +234,7 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
|
||||
}
|
||||
|
||||
disasm_line__scnprintf(dl, bf, sizeof(bf), !annotate_browser__opts.use_offset);
|
||||
slsmg_write_nstring(bf, width - pcnt_width - 3 - printed);
|
||||
ui_browser__write_nstring(browser, bf, width - pcnt_width - 3 - printed);
|
||||
}
|
||||
|
||||
if (current_entry)
|
||||
|
Reference in New Issue
Block a user