diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-01-30 22:20:42 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-01-30 22:20:42 +0000 |
commit | 9d5a2de3b28f61877858489604ddbaaf727e5409 (patch) | |
tree | fe3d918b2d1dec3f298c02e9ac77527b7c5a6f3d /apps/netutils | |
parent | 9ddfc032d424842691e1f4a30960547b578c9036 (diff) | |
download | nuttx-9d5a2de3b28f61877858489604ddbaaf727e5409.tar.gz nuttx-9d5a2de3b28f61877858489604ddbaaf727e5409.tar.bz2 nuttx-9d5a2de3b28f61877858489604ddbaaf727e5409.zip |
A few more telnet updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4348 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/netutils')
-rw-r--r-- | apps/netutils/telnetd/telnetd_driver.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/apps/netutils/telnetd/telnetd_driver.c b/apps/netutils/telnetd/telnetd_driver.c index efa693cdb..f74a97d4e 100644 --- a/apps/netutils/telnetd/telnetd_driver.c +++ b/apps/netutils/telnetd/telnetd_driver.c @@ -107,8 +107,8 @@ struct telnetd_dev_s uint8_t td_offset; /* Offset to the valid, pending bytes in the rxbuffer */ uint8_t td_crefs; /* The number of open references to the session */ FAR struct socket *td_psock; /* A reference to the internal socket structure */ - char td_rxbuffer[CONFIG_TELNETD_IOBUFFER_SIZE]; - char td_txbuffer[CONFIG_TELNETD_IOBUFFER_SIZE]; + char td_rxbuffer[CONFIG_TELNETD_RXBUFFER_SIZE]; + char td_txbuffer[CONFIG_TELNETD_TXBUFFER_SIZE]; }; /**************************************************************************** @@ -518,7 +518,7 @@ static ssize_t telnetd_read(FAR struct file *filep, FAR char *buffer, size_t len else { ret = psock_recv(priv->td_psock, priv->td_rxbuffer, - CONFIG_TELNETD_IOBUFFER_SIZE, 0); + CONFIG_TELNETD_RXBUFFER_SIZE, 0); if (ret > 0) { /* Process the received telnet data */ @@ -558,9 +558,11 @@ static ssize_t telnetd_write(FAR struct file *filep, FAR const char *buffer, siz eol = telnetd_putchar(priv, ch, &ncopied); - /* Was that the end of a line? */ + /* Was that the end of a line? Or is the buffer too full to hold the + * next largest character sequence ("\r\n\0")? + */ - if (eol) + if (eol || ncopied > CONFIG_TELNETD_TXBUFFER_SIZE-3) { /* Yes... send the data now */ |