diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-01-23 13:52:55 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2015-01-26 09:10:06 +0100 |
commit | 37139e5933337e3e24f4bd83955c3492123e9ed0 (patch) | |
tree | ba77d2d00f44716ad86597fb8d1bf703083dd891 /openbsc/src/gprs/gprs_subscriber.c | |
parent | 1d778fdce3bc4aab16dc203463d0067f2f063d16 (diff) |
gprs: Do not put the subscr in gprs_subscr_delete
Currently gprs_subscr_delete implicitely calls subscr_put, which
makes the code more complex than necessary (additional subscr_get) in
a few places. It also makes it more difficult to see, whether get/put
are balanced within a function. In addition, the functions are not
named consistently (gprs_subscr_delete vs.
gprs_subscr_put_and_cancel).
This commit changes the semantics of gprs_subscr_delete and
indirectly of gprs_subscr_put_and_cancel to not call subscr_put on
their argument, but to leave that for the caller to do it
explicitely.
It renames gprs_subscr_put_and_cancel to gprs_subscr_cancel to
reflect that change in the name, too.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/src/gprs/gprs_subscriber.c')
-rw-r--r-- | openbsc/src/gprs/gprs_subscriber.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/openbsc/src/gprs/gprs_subscriber.c b/openbsc/src/gprs/gprs_subscriber.c index d6d874b0b..b7e6af415 100644 --- a/openbsc/src/gprs/gprs_subscriber.c +++ b/openbsc/src/gprs/gprs_subscriber.c @@ -141,10 +141,9 @@ void gprs_subscr_delete(struct gsm_subscriber *subscr) } subscr->keep_in_ram = 0; - subscr_put(subscr); } -void gprs_subscr_put_and_cancel(struct gsm_subscriber *subscr) +void gprs_subscr_cancel(struct gsm_subscriber *subscr) { subscr->authorized = 0; subscr->flags |= GPRS_SUBSCRIBER_CANCELLED; @@ -380,7 +379,7 @@ static int gprs_subscr_handle_gsup_purge_res(struct gsm_subscriber *subscr, /* Force silent cancellation */ subscr->sgsn_data->error_cause = SGSN_ERROR_CAUSE_NONE; - gprs_subscr_put_and_cancel(subscr_get(subscr)); + gprs_subscr_cancel(subscr); return 0; } @@ -429,7 +428,7 @@ static int gprs_subscr_handle_loc_cancel_req(struct gsm_subscriber *subscr, gprs_subscr_tx_gsup_message(subscr, &gsup_reply); subscr->sgsn_data->error_cause = SGSN_ERROR_CAUSE_NONE; - gprs_subscr_put_and_cancel(subscr_get(subscr)); + gprs_subscr_cancel(subscr); return 0; } |