rlc: Use a pointer instead of repeated selector chains

Currently the same selector chain is used several times in the same
function.

This commit adds a pointer to Packet_Uplink_Ack_Nack and uses that
instead.

Sponsored-by: On-Waves ehf
diff --git a/src/encoding.cpp b/src/encoding.cpp
index 1b6e295..b57117f 100644
--- a/src/encoding.cpp
+++ b/src/encoding.cpp
@@ -437,6 +437,7 @@
 	uint8_t final)
 {
 	// Packet Uplink Ack/Nack  TS 44.060 11.2.28
+	Packet_Uplink_Ack_Nack_t *acknack;
 
 	LOGP(DRLCMACUL, LOGL_DEBUG, "Encoding Ack/Nack for %s "
 		"(final=%d)\n", tbf_name(tbf), final);
@@ -446,14 +447,16 @@
 	block->SP           = final; // RRBP field is valid, if it is final ack
 	block->USF          = 0x0;   // Uplink state flag
 
-	block->u.Packet_Uplink_Ack_Nack.MESSAGE_TYPE = 0x9;      // Packet Downlink Assignment
-	block->u.Packet_Uplink_Ack_Nack.PAGE_MODE    = 0x0;      // Normal Paging
-	block->u.Packet_Uplink_Ack_Nack.UPLINK_TFI   = tbf->tfi(); // Uplink TFI
+	acknack = &block->u.Packet_Uplink_Ack_Nack;
 
-	block->u.Packet_Uplink_Ack_Nack.UnionType    = 0x0;      // PU_AckNack_GPRS = on
+	acknack->MESSAGE_TYPE = 0x9;      // Packet Downlink Assignment
+	acknack->PAGE_MODE    = 0x0;      // Normal Paging
+	acknack->UPLINK_TFI   = tbf->tfi(); // Uplink TFI
+
+	/* PU_AckNack_GPRS = on */
+	acknack->UnionType    = 0x0;
 	write_packet_uplink_ack_gprs(bts,
-		&block->u.Packet_Uplink_Ack_Nack.u.PU_AckNack_GPRS_Struct,
-		tbf, final);
+		&acknack->u.PU_AckNack_GPRS_Struct, tbf, final);
 }
 
 unsigned Encoding::write_packet_paging_request(bitvec * dest)