aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libcommon-cs/common_cs_vty.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/libcommon-cs/common_cs_vty.c')
-rw-r--r--openbsc/src/libcommon-cs/common_cs_vty.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/openbsc/src/libcommon-cs/common_cs_vty.c b/openbsc/src/libcommon-cs/common_cs_vty.c
index f7b48865f..c323b11e4 100644
--- a/openbsc/src/libcommon-cs/common_cs_vty.c
+++ b/openbsc/src/libcommon-cs/common_cs_vty.c
@@ -60,8 +60,14 @@ DEFUN(cfg_net_ncc,
"Network Country Code to use\n")
{
struct gsm_network *gsmnet = gsmnet_from_vty(vty);
+ uint16_t mcc;
- gsmnet->country_code = atoi(argv[0]);
+ if (osmo_mcc_from_str(argv[0], &mcc)) {
+ vty_out(vty, "%% Error decoding MCC: %s%s", argv[0], VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ gsmnet->plmn.mcc = mcc;
return CMD_SUCCESS;
}
@@ -75,8 +81,16 @@ DEFUN(cfg_net_mnc,
"Mobile Network Code to use\n")
{
struct gsm_network *gsmnet = gsmnet_from_vty(vty);
+ uint16_t mnc;
+ bool mnc_3_digits;
+
+ if (osmo_mnc_from_str(argv[0], &mnc, &mnc_3_digits)) {
+ vty_out(vty, "%% Error decoding MNC: %s%s", argv[0], VTY_NEWLINE);
+ return CMD_WARNING;
+ }
- gsmnet->network_code = atoi(argv[0]);
+ gsmnet->plmn.mnc = mnc;
+ gsmnet->plmn.mnc_3_digits = mnc_3_digits;
return CMD_SUCCESS;
}