perf ui: Reimplement ui_helpline using libslang

Just another step in stopping the use of libnewt in perf.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-gh7e1v2z7pzqmok02r6zvp17@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 71172ed9
#define _GNU_SOURCE #define _GNU_SOURCE
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <newt.h>
#include "../debug.h" #include "../debug.h"
#include "helpline.h" #include "helpline.h"
#include "ui.h" #include "ui.h"
#include "libslang.h"
void ui_helpline__pop(void) void ui_helpline__pop(void)
{ {
newtPopHelpLine();
} }
void ui_helpline__push(const char *msg) void ui_helpline__push(const char *msg)
{ {
newtPushHelpLine(msg); SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
SLsmg_set_color(0);
SLsmg_write_nstring((char *)msg, SLtt_Screen_Cols);
SLsmg_refresh();
} }
void ui_helpline__vpush(const char *fmt, va_list ap) void ui_helpline__vpush(const char *fmt, va_list ap)
...@@ -63,7 +65,7 @@ int ui_helpline__show_help(const char *format, va_list ap) ...@@ -63,7 +65,7 @@ int ui_helpline__show_help(const char *format, va_list ap)
if (ui_helpline__last_msg[backlog - 1] == '\n') { if (ui_helpline__last_msg[backlog - 1] == '\n') {
ui_helpline__puts(ui_helpline__last_msg); ui_helpline__puts(ui_helpline__last_msg);
newtRefresh(); SLsmg_refresh();
backlog = 0; backlog = 0;
} }
pthread_mutex_unlock(&ui__lock); pthread_mutex_unlock(&ui__lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment