Ensure dropped packets are not counted as RXed

Ensure dropped packets are not counted as RXed in the following
interface drivers:

    * src/tnc.c
    * src/aprs_is.c
This commit is contained in:
XANTRONIX 2020-10-04 23:21:15 -04:00 committed by XANTRONIX Industrial
parent f127bd2fc2
commit 14354337cc
2 changed files with 17 additions and 11 deletions

View file

@ -315,11 +315,15 @@ int patty_ax25_aprs_is_pending(patty_ax25_aprs_is *aprs) {
}
ssize_t patty_ax25_aprs_is_flush(patty_ax25_aprs_is *aprs) {
ssize_t ret = aprs->encoded;
ssize_t ret;
if (patty_ax25_aprs_is_pending(aprs)) {
aprs->stats.rx_frames++;
aprs->stats.rx_bytes += ret;
aprs->stats.rx_bytes += aprs->encoded;
ret = aprs->encoded;
} else {
ret = 0;
}
aprs->state = APRS_IS_HEADER;

View file

@ -321,20 +321,22 @@ int patty_kiss_tnc_pending(patty_kiss_tnc *tnc) {
}
ssize_t patty_kiss_tnc_flush(patty_kiss_tnc *tnc) {
ssize_t ret;
if (patty_kiss_tnc_pending(tnc)) {
ssize_t ret = (ssize_t)tnc->offset_o;
tnc->state = KISS_NONE;
tnc->command = PATTY_KISS_RETURN;
tnc->offset_o = 0;
tnc->stats.rx_frames++;
tnc->stats.rx_bytes += ret;
tnc->stats.rx_bytes += tnc->offset_o;
return ret;
ret = tnc->offset_o;
} else {
ret = 0;
}
return 0;
tnc->state = KISS_NONE;
tnc->command = PATTY_KISS_RETURN;
tnc->offset_o = 0;
return ret;
}
ssize_t patty_kiss_tnc_recv(patty_kiss_tnc *tnc, void *buf, size_t len) {