Separate buffering method <3

This commit is contained in:
XANTRONIX Development 2015-07-15 20:32:24 -05:00
parent 250d19c599
commit fde6e56d50

View file

@ -67,10 +67,8 @@ void patty_kiss_tnc_close(patty_kiss_tnc *tnc) {
free(tnc); free(tnc);
} }
ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, void **frame, int *port) { static ssize_t tnc_buffer(patty_kiss_tnc *tnc) {
size_t fillsz = tnc->bufsz - tnc->buflen; size_t fillsz = tnc->bufsz - tnc->buflen;
size_t i, b;
int flags = KISS_NONE;
/* /*
* If the buffer needs to be filled, then fill it. * If the buffer needs to be filled, then fill it.
@ -88,6 +86,20 @@ ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, void **frame, int *port) {
tnc->buflen += readlen; tnc->buflen += readlen;
} }
return tnc->buflen;
error_io:
return -1;
}
ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, void **frame, int *port) {
size_t i, b;
int flags = KISS_NONE;
if (tnc_buffer(tnc) < 0) {
goto error_io;
}
/* /*
* Initialize the frame to be returned to the caller. * Initialize the frame to be returned to the caller.
*/ */