/** \file gui.c ncurses-based interface for paraslash */
+#include <signal.h>
+#include <sys/types.h>
+#include <dirent.h>
#include "gui.cmdline.h"
#include "para.h"
#include "gui.h"
#include <curses.h>
#include "ringbuffer.h"
-#include "string.h"
+#include "gui_common.h"
#include "fd.h"
#include "error.h"
+#include "list.h"
+#include "sched.h"
#include "signal.h"
/** define the array of error lists needed by para_gui */
wrefresh(bot.win);
}
-static void add_output_line(char *line)
+static int add_output_line(char *line, __a_unused void *data)
{
if (!curses_active)
- return;
+ return 1;
rb_add_entry(COLOR_OUTPUT, para_strdup(line));
+ return 1;
}
void para_log(int ll, const char *fmt,...)
static void check_sigchld(void)
{
+ int ret;
pid_t pid;
reap_next_child:
- pid = para_reap_child();
- if (pid <= 0)
+ ret = para_reap_child(&pid);
+ if (ret <= 0)
return;
if (pid == cmd_pid) {
cmd_pid = 0;
/*
* print status line if line starts with known command.
*/
-static void check_stat_line(char *line)
+static int check_stat_line(char *line, __a_unused void *data)
{
int i;
stat_content[i] = para_strdup(line);
print_stat_item(i);
}
- return;
+ return 1;
}
/*
if (cp_numread <= 0 && !cbo) /* command complete */
return 0;
if (cbo)
- cbo = for_each_line(command_buf, cbo, &add_output_line);
+ cbo = for_each_line(command_buf, cbo,
+ &add_output_line, NULL);
if (cp_numread <= 0)
cbo = 0;
wrefresh(bot.win);