/*
- * Copyright (C) 1998-2006 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1998-2007 Andre Noll <maan@systemlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "gui.cmdline.h"
#include "para.h"
+#include "gui.h"
#include <curses.h>
#include "ringbuffer.h"
#include "string.h"
fd_set rfds;
int ret;
int max_fileno, cp_numread = 1;
- char command_buf[STRINGSIZE] = "";
+ char command_buf[4096] = "";
int cbo = 0; /* command buf offset */
struct timeval tv;
repeat:
if (command_pipe >= 0 && mode == COMMAND_MODE &&
FD_ISSET(command_pipe, &rfds)) {
cp_numread = read(command_pipe, command_buf + cbo,
- STRINGSIZE - 1 - cbo);
+ sizeof(command_buf) - 1 - cbo);
if (cp_numread >= 0)
cbo += cp_numread;
else {
if (ret < 0)
return -1;
command_pipe = fds[1];
+ mark_fd_nonblock(command_pipe);
return send_output();
}
if (para_exec_cmdline_pid(&cmd_pid, cmd, fds) < 0)
return -1;
command_pipe = fds[1];
+ mark_fd_nonblock(command_pipe);
return send_output();
}
fprintf(stderr, "parse error while reading command line\n");
exit(EXIT_FAILURE);
}
+ HANDLE_VERSION_FLAG("gui", conf);
init_theme(0, &theme);
top.lines = theme.top_lines_default;
if (check_key_map_args() < 0) {