]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - gui.c
add -Wbad-function-cast to +CPPFLAGS and fix two compiler warnings
[paraslash.git] / gui.c
diff --git a/gui.c b/gui.c
index 9ad5aa985703c8371eb15e5cc2f94a3c7a64ad01..5403b9a607d2f8780017b2ca6306019c509ebcb7 100644 (file)
--- a/gui.c
+++ b/gui.c
@@ -20,6 +20,7 @@
 
 #include "gui.cmdline.h"
 #include "para.h"
+#include "gui.h"
 #include <curses.h>
 #include "ringbuffer.h"
 #include "string.h"
@@ -875,7 +876,7 @@ static int do_select(int mode)
        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:
@@ -907,7 +908,7 @@ 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 {
@@ -989,6 +990,7 @@ static int client_cmd_cmdline(char *cmd)
        if (ret < 0)
                return -1;
        command_pipe = fds[1];
+       mark_fd_nonblock(command_pipe);
        return send_output();
 }
 
@@ -1004,6 +1006,7 @@ static int display_cmd(char *cmd)
        if (para_exec_cmdline_pid(&cmd_pid, cmd, fds) < 0)
                return -1;
        command_pipe = fds[1];
+       mark_fd_nonblock(command_pipe);
        return send_output();
 }