/*
- * Copyright (C) 1998-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1998-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
return 1;
}
-void para_log(int ll, const char *fmt,...)
+static int loglevel;
+
+__printf_2_3 void para_log(int ll, const char *fmt,...)
{
int color;
char *msg;
- if (ll < conf.loglevel_arg || !curses_active)
+ if (ll < loglevel || !curses_active)
return;
switch (ll) {
- case DEBUG:
- case INFO:
- case NOTICE:
+ case LL_DEBUG:
+ case LL_INFO:
+ case LL_NOTICE:
color = COLOR_MSG;
break;
default:
para_install_sighandler(SIGCHLD);
para_install_sighandler(SIGWINCH);
para_install_sighandler(SIGUSR1);
-// signal(SIGPIPE, SIG_IGN);
- signal(SIGHUP, SIG_IGN);
+ para_sigaction(SIGHUP, SIG_IGN);
}
-static void do_exit(int ret)
+__noreturn static void do_exit(int ret)
{
- signal(SIGTERM, SIG_IGN);
+ para_sigaction(SIGTERM, SIG_IGN);
kill(0, SIGTERM);
exit(ret);
}
endwin();
}
-static void finish(int ret)
+__noreturn static void finish(int ret)
{
shutdown_curses();
do_exit(ret);
/*
* exit curses and print given message to stdout/stderr
*/
-__printf_2_3 static void msg_n_exit(int ret, const char* fmt, ...)
+__noreturn __printf_2_3 static void msg_n_exit(int ret, const char* fmt, ...)
{
va_list argp;
FILE *outfd = ret? stderr: stdout;
static void print_welcome(void)
{
- int ll = conf.loglevel_arg;
- if (ll > NOTICE)
+ if (loglevel > LL_NOTICE)
return;
outputf(COLOR_WELCOME, "Welcome to para_gui " PACKAGE_VERSION
" \"" CODENAME "\". Theme: %s", theme.name);
}
return;
case SIGINT:
- PARA_WARNING_LOG("%s", "caught SIGINT, reset");
+ PARA_WARNING_LOG("caught SIGINT, reset");
/* Nothing to do. SIGINT killed our child, para_client stat.
* This get noticed by do_select which resets everything
*/
return;
case SIGUSR1:
- PARA_NOTICE_LOG("%s", "got SIGUSR1, rereading configuration");
+ PARA_NOTICE_LOG("got SIGUSR1, rereading configuration");
com_reread_conf();
return;
case SIGCHLD:
* when any key is pressed.
*
* EXTERNAL_MODE: Check only signal pipe. Used when an external command
- * is running. During that thime curses is disabled. Returns when
+ * is running. During that time curses is disabled. Returns when
* cmd_pid == 0.
*/
static int do_select(int mode)
return ret;
}
if (do_select(COMMAND_MODE) >= 0)
- PARA_INFO_LOG("%s", "command complete");
+ PARA_INFO_LOG("command complete");
else
- PARA_NOTICE_LOG("%s", "command aborted");
+ PARA_NOTICE_LOG("command aborted");
print_in_bar(COLOR_MSG, " ");
return 1;
}
{
unsigned lines;
int fvr = first_visible_rbe(&lines);
+
if (fvr < 0 || fvr + 1 >= ringbuffer_filled(bot_win_rb)) {
print_in_bar(COLOR_ERRMSG, "top of buffer is shown\n");
return;
}
scroll_position = fvr + 1;
for (; scroll_position > 0; scroll_position--) {
- fvr = first_visible_rbe(&lines);
+ first_visible_rbe(&lines);
if (lines == bot.lines)
break;
}
static void com_ll_decr(void)
{
- if (conf.loglevel_arg <= DEBUG) {
+ if (loglevel <= LL_DEBUG) {
print_in_bar(COLOR_ERRMSG,
"loglevel already at maximal verbosity\n");
return;
}
- conf.loglevel_arg--;
- print_in_bar(COLOR_MSG, "loglevel set to %d\n", conf.loglevel_arg);
+ loglevel--;
+ print_in_bar(COLOR_MSG, "loglevel set to %d\n", loglevel);
}
static void com_ll_incr(void)
{
- if (conf.loglevel_arg >= EMERG) {
+ if (loglevel >= LL_EMERG) {
print_in_bar(COLOR_ERRMSG,
- "loglevel already at miminal verbosity\n");
+ "loglevel already at minimal verbosity\n");
return;
}
- conf.loglevel_arg++;
- print_in_bar(COLOR_MSG, "loglevel set to %d\n", conf.loglevel_arg);
+ loglevel++;
+ print_in_bar(COLOR_MSG, "loglevel set to %d\n", loglevel);
}
/*
};
if (!cf) {
- PARA_WARNING_LOG("%s", "there is no configuration to read");
+ PARA_WARNING_LOG("there is no configuration to read");
return;
}
- PARA_INFO_LOG("%s", "rereading command line options and config file");
+ PARA_INFO_LOG("rereading command line options and config file");
gui_cmdline_parser(_argc, _argv, &conf);
gui_cmdline_parser_config_file(cf, &conf, ¶ms);
- PARA_NOTICE_LOG("%s", "config file reloaded");
+ PARA_NOTICE_LOG("config file reloaded");
if (check_key_map_args() < 0)
finish(EXIT_FAILURE);
}
static void com_shrink_top_win(void)
{
if (top.lines <= theme.top_lines_min) {
- PARA_WARNING_LOG("%s", "can not decrease top window");
+ PARA_WARNING_LOG("can not decrease top window");
return;
}
init_wins(top.lines - 1);
static void com_enlarge_top_win(void)
{
if (bot.lines < 3) {
- PARA_WARNING_LOG("%s", "can not increase top window");
+ PARA_WARNING_LOG("can not increase top window");
return;
}
init_wins(top.lines + 1);
CODENAME "\"");
}
-static void com_quit(void)
+__noreturn static void com_quit(void)
{
finish(0);
}
};
gui_cmdline_parser_config_file(cf, &conf, ¶ms);
}
+ loglevel = get_loglevel_by_name(conf.loglevel_arg);
if (check_key_map_args() < 0) {
fprintf(stderr, "invalid key map in config file\n");
exit(EXIT_FAILURE);