aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libcommon/gsm_data.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-03-21 14:45:13 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-22 05:23:11 +0100
commit408856088bcf376f5317803fd8d1747f8b920054 (patch)
tree9266e5698859483ef5b359f4d6f2e3e7cdd4f109 /openbsc/src/libcommon/gsm_data.c
parent8469818e33ef81e9f707a0c4dd13d7b91ecf83f5 (diff)
backport support for 3-digit MNC with leading zerosneels/mnc3
Backport the patches with the following change-ids: osmo-bsc.git: I5b097dbb6329f284e3b4914a744d5c3ad628f715 I8e722103344186fde118b26d8353db95a4581daa I78f30aef7aa224b2e9db54c3a844d8f520b3aee0 I38ac98a4d25159cfd4f686efbfbaf8f00625a6d8 osmo-iuh.git: I29ebcddd45fe3079f8883589a83cc7216a535475 Also apply change of ipac_bcch_info.cgi to struct osmo_cell_global_id in src/ipaccess/network_listen.c, a change that appears to not have been necessary in the new split repositories. Related: OS#3010 Change-Id: Ibf50fd7e1ca5472d0a38fcb87c68227d6de44f42
Diffstat (limited to 'openbsc/src/libcommon/gsm_data.c')
-rw-r--r--openbsc/src/libcommon/gsm_data.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/openbsc/src/libcommon/gsm_data.c b/openbsc/src/libcommon/gsm_data.c
index 2028f0555..b45a4d3ad 100644
--- a/openbsc/src/libcommon/gsm_data.c
+++ b/openbsc/src/libcommon/gsm_data.c
@@ -339,20 +339,20 @@ struct gsm_bts *gsm_bts_alloc_register(struct gsm_network *net, enum gsm_bts_typ
void gprs_ra_id_by_bts(struct gprs_ra_id *raid, struct gsm_bts *bts)
{
*raid = (struct gprs_ra_id){
- .mcc = bts->network->country_code,
- .mnc = bts->network->network_code,
+ .mcc = bts->network->plmn.mcc,
+ .mnc = bts->network->plmn.mnc,
+ .mnc_3_digits = bts->network->plmn.mnc_3_digits,
.lac = bts->location_area_code,
.rac = bts->gprs.rac,
};
}
-int gsm48_ra_id_by_bts(uint8_t *buf, struct gsm_bts *bts)
+void gsm48_ra_id_by_bts(struct gsm48_ra_id *buf, struct gsm_bts *bts)
{
struct gprs_ra_id raid;
gprs_ra_id_by_bts(&raid, bts);
-
- return gsm48_construct_ra(buf, &raid);
+ gsm48_encode_ra(buf, &raid);
}
int gsm_parse_reg(void *ctx, regex_t *reg, char **str, int argc, const char **argv)