diff --git a/src/kiss.c b/src/kiss.c index 203b725..f39ae94 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -270,7 +270,7 @@ ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, size_t r = 0, /* Number of bytes read */ w = 0; /* Number of bytes written to buf */ - enum kiss_flags flags = KISS_NONE; + int flags = KISS_NONE; if (tnc->offset == tnc->readlen) { errno = 0; @@ -306,7 +306,7 @@ ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, if (!(flags & KISS_FRAME)) { if (c == PATTY_KISS_FEND) { - flags |= KISS_FRAME; + flags = KISS_FRAME; continue; } else { @@ -316,9 +316,9 @@ ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, } } else { if (c == PATTY_KISS_FEND) { - if (w > 0) { - flags &= ~KISS_FRAME; + flags = KISS_NONE; + if (w > 0) { goto done; }