Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b56e5331 authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf ui/helpline: Introduce ui_helpline__vshow()



The ui_helpline__vshow() will be used for pr_* functions.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1352911664-24620-3-git-send-email-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 75291420
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -24,17 +24,7 @@ static void gtk_helpline_push(const char *msg)
			   pgctx->statbar_ctx_id, msg);
}

static struct ui_helpline gtk_helpline_fns = {
	.pop	= gtk_helpline_pop,
	.push	= gtk_helpline_push,
};

void perf_gtk__init_helpline(void)
{
	helpline_fns = &gtk_helpline_fns;
}

int perf_gtk__show_helpline(const char *fmt, va_list ap)
static int gtk_helpline_show(const char *fmt, va_list ap)
{
	int ret;
	char *ptr;
@@ -54,3 +44,14 @@ int perf_gtk__show_helpline(const char *fmt, va_list ap)

	return ret;
}

static struct ui_helpline gtk_helpline_fns = {
	.pop	= gtk_helpline_pop,
	.push	= gtk_helpline_push,
	.show	= gtk_helpline_show,
};

void perf_gtk__init_helpline(void)
{
	helpline_fns = &gtk_helpline_fns;
}
+12 −0
Original line number Diff line number Diff line
@@ -16,9 +16,16 @@ static void nop_helpline__push(const char *msg __maybe_unused)
{
}

static int nop_helpline__show(const char *fmt __maybe_unused,
			       va_list ap __maybe_unused)
{
	return 0;
}

static struct ui_helpline default_helpline_fns = {
	.pop	= nop_helpline__pop,
	.push	= nop_helpline__push,
	.show	= nop_helpline__show,
};

struct ui_helpline *helpline_fns = &default_helpline_fns;
@@ -59,3 +66,8 @@ void ui_helpline__puts(const char *msg)
	ui_helpline__pop();
	ui_helpline__push(msg);
}

int ui_helpline__vshow(const char *fmt, va_list ap)
{
	return helpline_fns->show(fmt, ap);
}
+2 −20
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
struct ui_helpline {
	void (*pop)(void);
	void (*push)(const char *msg);
	int  (*show)(const char *fmt, va_list ap);
};

extern struct ui_helpline *helpline_fns;
@@ -20,28 +21,9 @@ void ui_helpline__push(const char *msg);
void ui_helpline__vpush(const char *fmt, va_list ap);
void ui_helpline__fpush(const char *fmt, ...);
void ui_helpline__puts(const char *msg);
int  ui_helpline__vshow(const char *fmt, va_list ap);

extern char ui_helpline__current[512];

#ifdef NEWT_SUPPORT
extern char ui_helpline__last_msg[];
int ui_helpline__show_help(const char *format, va_list ap);
#else
static inline int ui_helpline__show_help(const char *format __maybe_unused,
					 va_list ap __maybe_unused)
{
	return 0;
}
#endif /* NEWT_SUPPORT */

#ifdef GTK2_SUPPORT
int perf_gtk__show_helpline(const char *format, va_list ap);
#else
static inline int perf_gtk__show_helpline(const char *format __maybe_unused,
					  va_list ap __maybe_unused)
{
	return 0;
}
#endif /* GTK2_SUPPORT */

#endif /* _PERF_UI_HELPLINE_H_ */
+15 −14
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@
#include "../ui.h"
#include "../libslang.h"

char ui_helpline__last_msg[1024];

static void tui_helpline__pop(void)
{
}
@@ -23,20 +25,7 @@ static void tui_helpline__push(const char *msg)
	strncpy(ui_helpline__current, msg, sz)[sz - 1] = '\0';
}

struct ui_helpline tui_helpline_fns = {
	.pop	= tui_helpline__pop,
	.push	= tui_helpline__push,
};

void ui_helpline__init(void)
{
	helpline_fns = &tui_helpline_fns;
	ui_helpline__puts(" ");
}

char ui_helpline__last_msg[1024];

int ui_helpline__show_help(const char *format, va_list ap)
static int tui_helpline__show(const char *format, va_list ap)
{
	int ret;
	static int backlog;
@@ -55,3 +44,15 @@ int ui_helpline__show_help(const char *format, va_list ap)

	return ret;
}

struct ui_helpline tui_helpline_fns = {
	.pop	= tui_helpline__pop,
	.push	= tui_helpline__push,
	.show	= tui_helpline__show,
};

void ui_helpline__init(void)
{
	helpline_fns = &tui_helpline_fns;
	ui_helpline__puts(" ");
}
+2 −4
Original line number Diff line number Diff line
@@ -23,10 +23,8 @@ int eprintf(int level, const char *fmt, ...)

	if (verbose >= level) {
		va_start(args, fmt);
		if (use_browser == 1)
			ret = ui_helpline__show_help(fmt, args);
		else if (use_browser == 2)
			ret = perf_gtk__show_helpline(fmt, args);
		if (use_browser > 1)
			ui_helpline__vshow(fmt, args);
		else
			ret = vfprintf(stderr, fmt, args);
		va_end(args);