tree 9346eaa3b77190e9ea6cb3e712574876aac8fe24
parent 20515896b38c1610fdd353027482072072c242fa
author Pablo Neira Ayuso <pablo@gnumonks.org> 1502110865 +0100
committer Neels Hofmeyr <neels@hofmeyr.de> 1503848697 +0200

libmsc: remove dead code in sms_route_mt_sms()

The following branch:

	if (!rc && !gsms->receiver)
		rc = GSM411_RP_CAUSE_MO_NUM_UNASSIGNED;

at the end of sms_route_mt_sms() always evaluates false.

Just a bit before, in such function, we have this:

        if (!gsms->receiver) {
                ...
 #ifdef BUILD_SMPP
                ...
 #else
                ...
 #endif
                return rc;
        }

So, if there is no receiver, we just stop running code and return the RP
cause via the rc variable. Same applies to the smpp_first check under
the BUILD_SMPP ifdef (that I have removed in this snippet to keep this
commit message small).

Change-Id: Ic3502b5b169bc7a73a67fd6ff53d8b6c0dc045c8
