diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-08-19 12:53:57 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-09-28 05:14:25 +0200 |
commit | 2223025e218263af6e1157ef1eeca1686cefe4b9 (patch) | |
tree | c3d9f36d3d14bf650f86b85d4bcc83492c741e1b /openbsc/src/paging.c | |
parent | 6b0b103bdcfaf15ca1c33d3c61f211cb40661e92 (diff) |
[tmsi] Make the tmsi a 4 octet number
tmsi is four octets long, there is no need to make it a string
and then jump through hoops to convert it to a number. Keep the database
using it as a string to benefit from the NULL handling of the db.
Introduce the reserved tmsi which has all bits set to 1 according
to GSM 03.03 ยง2.4 and start checking for it and make sure the db
code will never allocate such a tmsi.
Diffstat (limited to 'openbsc/src/paging.c')
-rw-r--r-- | openbsc/src/paging.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c index fd0611a14..b8552133e 100644 --- a/openbsc/src/paging.c +++ b/openbsc/src/paging.c @@ -90,7 +90,6 @@ static void paging_remove_request(struct gsm_bts_paging_state *paging_bts, static void page_ms(struct gsm_paging_request *request) { u_int8_t mi[128]; - unsigned long int tmsi; unsigned int mi_len; unsigned int page_group; @@ -98,8 +97,7 @@ static void page_ms(struct gsm_paging_request *request) request->subscr->imsi); page_group = calculate_group(request->bts, request->subscr); - tmsi = strtoul(request->subscr->tmsi, NULL, 10); - mi_len = gsm48_generate_mid_from_tmsi(mi, tmsi); + mi_len = gsm48_generate_mid_from_tmsi(mi, request->subscr->tmsi); rsl_paging_cmd(request->bts, page_group, mi_len, mi, request->chan_type); } |