diff options
-rw-r--r-- | common/sys/telnet.c | 2 | ||||
-rw-r--r-- | include/cmsys.h | 2 | ||||
-rw-r--r-- | mbbsd/telnet.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/common/sys/telnet.c b/common/sys/telnet.c index b0c5f1d7..2f462867 100644 --- a/common/sys/telnet.c +++ b/common/sys/telnet.c @@ -79,7 +79,7 @@ void telnet_send_init_cmds(int fd) write(fd, telnet_init_cmds, sizeof(telnet_init_cmds)); } -ssize_t telnet_process(TelnetCtx *ctx, unsigned char *buf, size_t size) +ssize_t telnet_process(TelnetCtx *ctx, unsigned char *buf, ssize_t size) { /* process buffer */ if (size > 0) { diff --git a/include/cmsys.h b/include/cmsys.h index 040f1995..863aab3f 100644 --- a/include/cmsys.h +++ b/include/cmsys.h @@ -207,6 +207,6 @@ extern void telnet_ctx_init(TelnetCtx *ctx, const struct TelnetCallback *callbac extern void telnet_ctx_set_cc_arg(TelnetCtx *ctx, void *cc_arg); extern void telnet_send_init_cmds(int fd); -extern ssize_t telnet_process(TelnetCtx *ctx, unsigned char *buf, size_t size); +extern ssize_t telnet_process(TelnetCtx *ctx, unsigned char *buf, ssize_t size); #endif diff --git a/mbbsd/telnet.c b/mbbsd/telnet.c index f348f08c..d60254ac 100644 --- a/mbbsd/telnet.c +++ b/mbbsd/telnet.c @@ -55,7 +55,7 @@ tty_read(unsigned char *buf, size_t max) if(l == 0 || (l < 0 && !(errno == EINTR || errno == EAGAIN))) abort_bbs(0); - if(!raw_connection) + if(!raw_connection || l <= 0) return l; l = telnet_process(ctx, buf, l); |