aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_ul.cpp
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2018-01-02 14:17:04 +0100
committerHarald Welte <laforge@gnumonks.org>2018-01-12 14:17:52 +0000
commit8dce1de6d2669023b715945cc58813380ac7f322 (patch)
treead32dcb8b1b16689fc09b4990541372a749f9b3f /src/tbf_ul.cpp
parent5081806f4d41ceccf5b5421c9644113ac41e2524 (diff)
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
Diffstat (limited to 'src/tbf_ul.cpp')
-rw-r--r--src/tbf_ul.cpp4
1 files changed, 1 insertions, 3 deletions
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 */