diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2023-05-01 23:58:17 +0700 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2023-05-01 23:59:06 +0700 |
commit | dfd6224484db75754a6d69556194a34bf8444bb8 (patch) | |
tree | ffffd0ef5c043c9254fedaf18dc38e03bae10ee8 /src/common/oml.c | |
parent | 8b535ee77a4a343d71475cc0f8ce0323b99a9fca (diff) |
oml: gsm_objclass2{mo,obj}(): set cause for unknown obj_class
This patch makes BTS_Tests_OML.TC_wrong_obj_class pass.
Change-Id: I30e109a7c86e651fb7055a80ef0656d8563475c8
Fixes: OS#5966
Diffstat (limited to 'src/common/oml.c')
-rw-r--r-- | src/common/oml.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/common/oml.c b/src/common/oml.c index 9d9778e5..361f59e2 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -1740,7 +1740,7 @@ struct gsm_abis_mo *gsm_objclass2mo(struct gsm_bts *bts, uint8_t obj_class, { struct gsm_bts_trx *trx; - switch (obj_class) { + switch ((enum abis_nm_obj_class)obj_class) { case NM_OC_BTS: return &bts->mo; case NM_OC_RADIO_CARRIER: @@ -1771,8 +1771,11 @@ struct gsm_abis_mo *gsm_objclass2mo(struct gsm_bts *bts, uint8_t obj_class, if (obj_inst->trx_nr >= ARRAY_SIZE(g_bts_sm->gprs.nse.nsvc)) goto nm_nack_objinst_unkn; return &g_bts_sm->gprs.nse.nsvc[obj_inst->trx_nr].mo; + default: + if (c != NULL) + *c = NM_NACK_OBJCLASS_NOTSUPP; + return NULL; } - return NULL; nm_nack_trxnr_unkn: if (c != NULL) @@ -1792,7 +1795,7 @@ void *gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class, { struct gsm_bts_trx *trx; - switch (obj_class) { + switch ((enum abis_nm_obj_class)obj_class) { case NM_OC_BTS: return bts; case NM_OC_RADIO_CARRIER: @@ -1823,8 +1826,11 @@ void *gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class, if (obj_inst->trx_nr >= ARRAY_SIZE(g_bts_sm->gprs.nse.nsvc)) goto nm_nack_objinst_unkn; return &g_bts_sm->gprs.nse.nsvc[obj_inst->trx_nr]; + default: + if (c != NULL) + *c = NM_NACK_OBJCLASS_NOTSUPP; + return NULL; } - return NULL; nm_nack_trxnr_unkn: if (c != NULL) |