gprs_bssgp: abuse gsm48_encode_ra() to encode TAC
Both LAC and TAC take 2 octets and follow MCC/MNC fields on the wire.
We abuse gsm48_encode_ra() for encoding of MCC/MNC, but it can also
be abused to encode TAC in bssgp_create_rim_ri(). There is no need
to encode '0000'O and then override it with osmo_store16be().
Change-Id: I986552aa52cf38b1c5290d2e5cd3ff2d1c36a4e5
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index bf0e821..530c702 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -402,10 +402,11 @@
.mcc = ri->eutran.tai.mcc,
.mnc = ri->eutran.tai.mnc,
.mnc_3_digits = ri->eutran.tai.mnc_3_digits,
+ /* TAC is encoded in the same way as LAC */
+ .lac = ri->eutran.tai.tac,
};
gsm48_encode_ra((struct gsm48_ra_id *)buf, &raid_temp);
- osmo_store16be(ri->eutran.tai.tac, buf + 3);
OSMO_ASSERT(ri->eutran.global_enb_id_len <=
sizeof(ri->eutran.global_enb_id));
memcpy(buf + 5, ri->eutran.global_enb_id,