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);
}
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 i, b;
int flags = KISS_NONE;
/*
* 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;
}
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.
*/