diff options
author | Keith Whyte <keith@rhizomatica.org> | 2020-01-13 06:30:27 +0100 |
---|---|---|
committer | Keith Whyte <keith@rhizomatica.org> | 2020-01-13 06:34:35 +0100 |
commit | 2cad562eb221c88098b56c9686bbfb2fd97ef830 (patch) | |
tree | 692f32e30045782ba7219232cc915c81fbc17423 /src | |
parent | b67131595f9a95956f7aa51ecbc2a89af84f7c2b (diff) |
Trivial: code simplification, return early
This commit also, (for what it is worth) removes a
difference to the same file in openbsc, which I found
while looking for changes that affected SMPP delivery.
This is essentially a "forward-port" of [1]
[1] https://gerrit.osmocom.org/#/c/openbsc/+/3899/
Change-Id: I350c19f5bb70b2656171c096334c2ee83f49df7e
Diffstat (limited to 'src')
-rw-r--r-- | src/libmsc/gsm_04_11.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index 367cc6faf..ae19b2762 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -442,29 +442,29 @@ try_local: /* determine gsms->receiver based on dialled number */ gsms->receiver = vlr_subscr_find_by_msisdn(net->vlr, gsms->dst.addr, VSUB_USE_SMS_RECEIVER); - if (!gsms->receiver) { + if (gsms->receiver) + return 0; + #ifdef BUILD_SMPP - /* Avoid a second look-up */ - if (smpp_route_smpp_first()) { - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); - return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; - } + /* Avoid a second look-up */ + if (smpp_route_smpp_first()) { + rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + return GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; + } - rc = smpp_try_deliver(gsms, msc_a); - if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) { - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); - } else if (rc < 0) { - LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d\n", rc); - rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; - /* rc will be logged by gsm411_send_rp_error() */ - rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); - } -#else - rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; + rc = smpp_try_deliver(gsms, msc_a); + if (rc == GSM411_RP_CAUSE_MO_NUM_UNASSIGNED) { rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); + } else if (rc < 0) { + LOG_TRANS(trans, LOGL_ERROR, "SMS delivery error: %d\n", rc); + rc = GSM411_RP_CAUSE_MO_TEMP_FAIL; + /* rc will be logged by gsm411_send_rp_error() */ + rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR]); + } +#else + rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED; + rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_SMS_NO_RECEIVER]); #endif - } else - rc = 0; return rc; } |