tbf: Move the check if the window is stalled to a separate method
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 747678c..a279fcc 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -906,8 +906,7 @@
 
 	/* if the window has stalled, or transfer is complete,
 	 * send an unacknowledged block */
-	if (state_is(GPRS_RLCMAC_FINISHED)
-	 || ((dir.dl.v_s - dir.dl.v_a) & mod_sns) == m_ws) {
+	if (state_is(GPRS_RLCMAC_FINISHED) || dl_window_stalled()) {
 	 	int resend = 0;
 
 		if (state_is(GPRS_RLCMAC_FINISHED)) {
@@ -1859,3 +1858,9 @@
 		tbf_name(this));
 	bts->trigger_dl_ass(this, this, NULL);
 }
+
+bool gprs_rlcmac_tbf::dl_window_stalled() const
+{
+	const uint16_t mod_sns = m_sns - 1;
+	return ((dir.dl.v_s - dir.dl.v_a) & mod_sns) == m_ws;
+}