From 6a427c409796b08ee3981a2719fd24c52b286da0 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Wed, 15 Jul 2015 21:45:46 -0500 Subject: [PATCH] Make tnc_buffer() only return bytes actually read --- src/kiss.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kiss.c b/src/kiss.c index dc0ab5d..68a1e3a 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -68,14 +68,14 @@ void patty_kiss_tnc_close(patty_kiss_tnc *tnc) { } static ssize_t tnc_buffer(patty_kiss_tnc *tnc) { - size_t fillsz = tnc->bufsz - tnc->buflen; + size_t fillsz = tnc->bufsz - tnc->buflen; + ssize_t readlen = 0; /* * If the buffer needs to be filled, then fill it. */ if (fillsz) { void *dest = ((unsigned char *)tnc->buf) + tnc->buflen; - ssize_t readlen; if ((readlen = read(tnc->fd, dest, fillsz)) < 0) { errno = EIO; @@ -86,7 +86,7 @@ static ssize_t tnc_buffer(patty_kiss_tnc *tnc) { tnc->buflen += readlen; } - return tnc->buflen; + return readlen; error_io: return -1;