--- libaitcli/src/aitcli.c 2013/12/03 20:33:14 1.13 +++ libaitcli/src/aitcli.c 2014/04/29 01:22:30 1.14 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.c,v 1.13 2013/12/03 20:33:14 misho Exp $ +* $Id: aitcli.c,v 1.14 2014/04/29 01:22:30 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -1304,17 +1304,11 @@ cliReadLine(linebuffer_t * __restrict cli_buffer, int memset(buf, 0, sizeof buf); readLen = read(cli_buffer->line_in, buf, BUFSIZ); - if (readLen == -1) { - LOGERR; - return str; + if (readLen < 1) { + if (readLen) + LOGERR; + return NULL; } - if (!readLen) { - if (cli_buffer->line_buf) - str = e_strdup(cli_buffer->line_buf); - else - cli_SetErr(EPIPE, "Unknown state ..."); - return str; - } recheck: for (code = RETCODE_OK, i = MAX_BINDKEY - 1; i > -1; i--) @@ -1446,8 +1440,9 @@ cliNetLoop(linebuffer_t * __restrict cli_buffer, const if (FD_ISSET(pty, &fds)) { memset(buf, 0, BUFSIZ); - if ((ret = read(pty, buf, BUFSIZ)) == -1) { - LOGERR; + if ((ret = read(pty, buf, BUFSIZ)) < 1) { + if (ret) + LOGERR; break; }