diff options
author | Namhyung Kim <namhyung@gmail.com> | 2012-04-04 03:14:26 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-04-11 16:16:40 -0400 |
commit | aca7a94d6a59d6bf2600768e752f971c6cc0ab57 (patch) | |
tree | 801b40ba5cb8aba9d3d0842a3d87c741b97f58f2 /tools/perf/util/ui/helpline.c | |
parent | a31b7cc083b1d3d15bd475729fc4471685ebc5f6 (diff) |
perf tools: Move UI bits to tools/perf/ui directory
Move those files to new directory in order to be prepared to further UI
work. Makefile and header file pathes are adjusted accordingly.
Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Suggested-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl
Link: http://lkml.kernel.org/r/1333523666-12057-1-git-send-email-namhyung.kim@lge.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/ui/helpline.c')
-rw-r--r-- | tools/perf/util/ui/helpline.c | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/tools/perf/util/ui/helpline.c b/tools/perf/util/ui/helpline.c deleted file mode 100644 index 2f950c2641c8..000000000000 --- a/tools/perf/util/ui/helpline.c +++ /dev/null | |||
@@ -1,79 +0,0 @@ | |||
1 | #include <stdio.h> | ||
2 | #include <stdlib.h> | ||
3 | #include <string.h> | ||
4 | |||
5 | #include "../debug.h" | ||
6 | #include "helpline.h" | ||
7 | #include "ui.h" | ||
8 | #include "libslang.h" | ||
9 | |||
10 | void ui_helpline__pop(void) | ||
11 | { | ||
12 | } | ||
13 | |||
14 | char ui_helpline__current[512]; | ||
15 | |||
16 | void ui_helpline__push(const char *msg) | ||
17 | { | ||
18 | const size_t sz = sizeof(ui_helpline__current); | ||
19 | |||
20 | SLsmg_gotorc(SLtt_Screen_Rows - 1, 0); | ||
21 | SLsmg_set_color(0); | ||
22 | SLsmg_write_nstring((char *)msg, SLtt_Screen_Cols); | ||
23 | SLsmg_refresh(); | ||
24 | strncpy(ui_helpline__current, msg, sz)[sz - 1] = '\0'; | ||
25 | } | ||
26 | |||
27 | void ui_helpline__vpush(const char *fmt, va_list ap) | ||
28 | { | ||
29 | char *s; | ||
30 | |||
31 | if (vasprintf(&s, fmt, ap) < 0) | ||
32 | vfprintf(stderr, fmt, ap); | ||
33 | else { | ||
34 | ui_helpline__push(s); | ||
35 | free(s); | ||
36 | } | ||
37 | } | ||
38 | |||
39 | void ui_helpline__fpush(const char *fmt, ...) | ||
40 | { | ||
41 | va_list ap; | ||
42 | |||
43 | va_start(ap, fmt); | ||
44 | ui_helpline__vpush(fmt, ap); | ||
45 | va_end(ap); | ||
46 | } | ||
47 | |||
48 | void ui_helpline__puts(const char *msg) | ||
49 | { | ||
50 | ui_helpline__pop(); | ||
51 | ui_helpline__push(msg); | ||
52 | } | ||
53 | |||
54 | void ui_helpline__init(void) | ||
55 | { | ||
56 | ui_helpline__puts(" "); | ||
57 | } | ||
58 | |||
59 | char ui_helpline__last_msg[1024]; | ||
60 | |||
61 | int ui_helpline__show_help(const char *format, va_list ap) | ||
62 | { | ||
63 | int ret; | ||
64 | static int backlog; | ||
65 | |||
66 | pthread_mutex_lock(&ui__lock); | ||
67 | ret = vscnprintf(ui_helpline__last_msg + backlog, | ||
68 | sizeof(ui_helpline__last_msg) - backlog, format, ap); | ||
69 | backlog += ret; | ||
70 | |||
71 | if (ui_helpline__last_msg[backlog - 1] == '\n') { | ||
72 | ui_helpline__puts(ui_helpline__last_msg); | ||
73 | SLsmg_refresh(); | ||
74 | backlog = 0; | ||
75 | } | ||
76 | pthread_mutex_unlock(&ui__lock); | ||
77 | |||
78 | return ret; | ||
79 | } | ||