X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=gui.c;h=7b10992c8d0b7282a3854b473ed38cebbca83d67;hp=fff5741dca26c6a472cd67b2fdd7d638131fe3b6;hb=adbf9f09c9bf2a680c61b1ef3541c04f1cde97cf;hpb=58ad3169dc1a4999ef3250753f980f168bd2f29e diff --git a/gui.c b/gui.c index fff5741d..7b10992c 100644 --- a/gui.c +++ b/gui.c @@ -73,9 +73,9 @@ enum {GETCH_MODE, COMMAND_MODE, EXTERNAL_MODE}; #define COLOR_BOT 40 struct gui_command { - char *key; - char *name; - char *description; + const char *key; + const char *name; + const char *description; void (*handler)(void); }; @@ -284,7 +284,7 @@ static void add_spaces(WINDOW* win, unsigned int num) * print aligned string to curses window. This function always prints * exactly len chars. */ -static int align_str(WINDOW* win, char *string, unsigned int len, +static int align_str(WINDOW* win, const char *string, unsigned int len, unsigned int align) { int num; /* of spaces */ @@ -313,7 +313,7 @@ static int align_str(WINDOW* win, char *string, unsigned int len, return 1; } -__printf_2_3 static void print_in_bar(int color, char *fmt,...) +__printf_2_3 static void print_in_bar(int color, const char *fmt,...) { char *msg; @@ -442,7 +442,7 @@ static void rb_add_entry(int color, char *msg) /* * print formated output to bot win and refresh */ -__printf_2_3 static void outputf(int color, char* fmt,...) +__printf_2_3 static void outputf(int color, const char* fmt,...) { char *msg; @@ -460,7 +460,7 @@ static void add_output_line(char *line) rb_add_entry(COLOR_OUTPUT, para_strdup(line)); } -void para_log(int ll, char *fmt,...) +void para_log(int ll, const char *fmt,...) { int color; char *msg; @@ -519,7 +519,7 @@ static void finish(int ret) /* * exit curses and print given message to stdout/stderr */ -__printf_2_3 static void msg_n_exit(int ret, char* fmt, ...) +__printf_2_3 static void msg_n_exit(int ret, const char* fmt, ...) { va_list argp; FILE *outfd = ret? stderr: stdout; @@ -1172,24 +1172,26 @@ static void com_help(void) int i; for (i = 0; i < conf.key_map_given; ++i) { - char *s = conf.key_map_arg[i], *handler, *arg, - *desc = "", tmp[MAXLINE]; + char *handler, *arg, *tmp = para_strdup(conf.key_map_arg[i]); + const char *handler_text = "???", *desc = NULL; - strcpy(tmp, s); - if (!split_key_map(tmp, &handler, &arg)) + if (!split_key_map(tmp, &handler, &arg)) { + free(tmp); return; - switch(*handler) { + } + switch (*handler) { case 'i': - handler = "internal"; + handler_text = "internal"; desc = command_list[find_cmd_byname(arg)].description; break; - case 'x': handler = "external"; break; - case 'd': handler = "display "; break; - case 'p': handler = "para "; break; + case 'x': handler_text = "external"; break; + case 'd': handler_text = "display "; break; + case 'p': handler_text = "para "; break; } - outputf(COLOR_MSG, "%s\t%s\t%s%s\t%s", tmp, handler, arg, + outputf(COLOR_MSG, "%s\t%s\t%s%s\t%s", tmp, handler_text, arg, strlen(arg) < 8? "\t" : "", - desc); + desc? desc : ""); + free(tmp); } for (i = 0; command_list[i].handler; i++) { struct gui_command gc = command_list[i]; @@ -1200,7 +1202,6 @@ static void com_help(void) } print_in_bar(COLOR_MSG, "try \"para_gui -h\" or \"para_client help\" " "for more info"); - return; } static void com_shrink_top_win(void)