Using ncurses library is overkill. We only want to use the bold text. Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp> --- collie/Makefile | 1 - collie/collie.c | 27 +++++++++++---------------- collie/treeview.c | 12 +++++++----- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/collie/Makefile b/collie/Makefile index 98ef2b1..0dc6ed5 100644 --- a/collie/Makefile +++ b/collie/Makefile @@ -2,7 +2,6 @@ sbindir ?= $(PREFIX)/sbin CFLAGS += -g -O2 -Wall -Wstrict-prototypes -I../include CFLAGS += -D_GNU_SOURCE -LIBS += -lncurses PROGRAMS = collie COLLIE_OBJS = collie.o treeview.o ../lib/event.o ../lib/net.o ../lib/logger.o diff --git a/collie/collie.c b/collie/collie.c index 9efb532..714eeac 100644 --- a/collie/collie.c +++ b/collie/collie.c @@ -25,7 +25,6 @@ #include <time.h> #include <sys/time.h> #include <term.h> -#include <curses.h> #include "sheepdog_proto.h" #include "sheep.h" @@ -36,6 +35,9 @@ static char program_name[] = "collie"; static int sdport = SD_LISTEN_PORT; static int highlight = 1; +#define TEXT_NORMAL "\033[0m" +#define TEXT_BOLD "\033[1m" + #define COMMON_LONG_OPTIONS \ {"port", required_argument, NULL, 'p'}, \ {"help", no_argument, NULL, 'h'}, \ @@ -367,9 +369,8 @@ static void print_vm_list(uint32_t vid, char *name, uint32_t tag, size_to_str(my_objs * SD_DATA_OBJ_SIZE, my_objs_str, sizeof(my_objs_str)); size_to_str(cow_objs * SD_DATA_OBJ_SIZE, cow_objs_str, sizeof(cow_objs_str)); if (i < vli->nr_vms) { - char *tmp; - if (vli->highlight && (tmp = tgetstr((char *)"md", (char **)NULL))) - tputs(tmp, 1, putchar); + if (vli->highlight) + printf(TEXT_BOLD); printf("%-16s|%9s|%9s|%9s| running on %d.%d.%d.%d", name, vdi_size_str, my_objs_str, cow_objs_str, @@ -377,8 +378,8 @@ static void print_vm_list(uint32_t vid, char *name, uint32_t tag, vli->vm_list_entries[i].host_addr[13], vli->vm_list_entries[i].host_addr[14], vli->vm_list_entries[i].host_addr[15]); - if (vli->highlight && (tmp = tgetstr((char *)"me", (char **)NULL))) - tputs(tmp, 1, putchar); + if (vli->highlight) + printf(TEXT_NORMAL); printf("\n"); } else printf("%-16s|%9s|%9s|%9s| not running\n", name, @@ -542,13 +543,11 @@ static int node_list(int argc, char **argv) print_node_list_entry(&node_list_entries[i], data, sizeof(data)); if (i == master_idx) { - const char *tmp; - - if (highlight && (tmp = tgetstr((char *)"md", (char **)NULL))) - tputs(tmp, 1, putchar); + if (highlight) + printf(TEXT_BOLD); printf("* %d\t%s\n", i, data); - if (highlight && (tmp = tgetstr((char *)"me", (char **)NULL))) - tputs(tmp, 1, putchar); + if (highlight) + printf(TEXT_NORMAL); } else printf(" %d\t%s\n", i, data); } @@ -1041,12 +1040,8 @@ static unsigned long setup_command(char *cmd, char *subcmd) int main(int argc, char **argv) { int ch, longindex, ret; - char termcap_area[1024]; unsigned long flags; - if (getenv("TERM")) - tgetent(termcap_area, getenv("TERM")); - if (argc < 3) usage(0); diff --git a/collie/treeview.c b/collie/treeview.c index c5adb96..2f21dd7 100644 --- a/collie/treeview.c +++ b/collie/treeview.c @@ -21,6 +21,9 @@ #define MAX_DEPTH 100 #endif +#define TEXT_NORMAL "\033[0m" +#define TEXT_BOLD "\033[1m" + struct vdi_tree { char name[1024]; char label[256]; @@ -143,18 +146,17 @@ static void indent(int level, int first, int last) static void _dump_tree(struct vdi_tree *current, int level, int first, int last) { - char *tmp; struct vdi_tree *vdi; indent(level, first, last); - if (current->highlight && (tmp = tgetstr("md", NULL))) - tputs(tmp, 1, putchar); + if (current->highlight) + printf(TEXT_BOLD); printf(current->label); - if (current->highlight && (tmp = tgetstr("me", NULL))) - tputs(tmp, 1, putchar); + if (current->highlight) + printf(TEXT_NORMAL); if (list_empty(¤t->children)) { putchar('\n'); -- 1.5.6.5 |