/*
- * Copyright (C) 1998-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1998-2014 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
static void add_spaces(WINDOW* win, unsigned int num)
{
char space[] = " ";
- unsigned sz = sizeof(space);
+ unsigned sz = sizeof(space) - 1; /* number of spaces */
while (num >= sz) {
waddstr(win, space);
static int loglevel;
-__printf_2_3 void curses_log(int ll, const char *fmt,...)
+static __printf_2_3 void curses_log(int ll, const char *fmt,...)
{
int color;
char *msg;
para_install_sighandler(SIGCHLD);
para_install_sighandler(SIGWINCH);
para_install_sighandler(SIGUSR1);
- para_sigaction(SIGHUP, SIG_IGN);
}
/* kill every process in the process group and exit */
}
PARA_INFO_LOG("rereading command line options and config file");
gui_cmdline_parser_ext(_argc, _argv, &conf, ¶ms);
+ /*
+ * Despite .print_errors is set to 0, gengetopt will print to stderr
+ * anyway, and exit on errors. So we have to shutdown curses first.
+ */
+ shutdown_curses();
gui_cmdline_parser_config_file(cf, &conf, ¶ms);
+ init_curses();
PARA_NOTICE_LOG("config file reloaded");
if (check_key_map_args() < 0)
finish(EXIT_FAILURE);