From dfd6224484db75754a6d69556194a34bf8444bb8 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Mon, 1 May 2023 23:58:17 +0700 Subject: 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 --- src/common/oml.c | 14 ++++++++++---- 1 file 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) -- cgit v1.2.3