From 8dce1de6d2669023b715945cc58813380ac7f322 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 2 Jan 2018 14:17:04 +0100 Subject: TBF: cleanup state flag handling * introduce generic function to check whether particular flag was set for'a TBF and clear it if necessary. Use this instead of clear_poll_timeout_flag() * add function to explicitly set assignment and appropriate state flags Overall this makes the code easier to read and debug. Related: OS#1759 Change-Id: Ic4560280c72f91700f2e19c6c7f6658dc29625c2 --- src/tbf_ul.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/tbf_ul.cpp') diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 45de7cdf..6442b8f9 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -96,10 +96,8 @@ int gprs_rlcmac_ul_tbf::assemble_forward_llc(const gprs_rlc_data *_data) bool gprs_rlcmac_ul_tbf::ctrl_ack_to_toggle() { - if ((state_flags & (1 << GPRS_RLCMAC_FLAG_TO_UL_ACK))) { - state_flags &= ~(1 << GPRS_RLCMAC_FLAG_TO_UL_ACK); + if (check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ACK)) return true; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was set, now cleared */ - } state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ACK); return false; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was unset, now set */ -- cgit v1.2.3