From 7a2f58ea63a777dcda1dd8ff1e7c2459ba2758c6 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 22 Mar 2018 16:03:49 +0100 Subject: dissolve libcommon: drop gsm_subscriber_base.c, move vlr_subscr_* to vlr.c Change-Id: Ia69890da68b8afa8a2a4e8ab58ec5c4a4ba9d06a --- src/libvlr/vlr.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/libvlr') diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index 01e7ee104..3e14593ad 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -76,6 +76,33 @@ uint32_t vlr_timer(struct vlr_instance *vlr, uint32_t timer) return vlr->cfg.timer[tidx]; } +/* return static buffer with printable name of VLR subscriber */ +const char *vlr_subscr_name(struct vlr_subscr *vsub) +{ + static char buf[32]; + if (!vsub) + return "unknown"; + if (vsub->msisdn[0]) + snprintf(buf, sizeof(buf), "MSISDN:%s", vsub->msisdn); + else if (vsub->imsi[0]) + snprintf(buf, sizeof(buf), "IMSI:%s", vsub->imsi); + else if (vsub->tmsi != GSM_RESERVED_TMSI) + snprintf(buf, sizeof(buf), "TMSI:0x%08x", vsub->tmsi); + else if (vsub->tmsi_new != GSM_RESERVED_TMSI) + snprintf(buf, sizeof(buf), "TMSI(new):0x%08x", vsub->tmsi_new); + else + return "unknown"; + buf[sizeof(buf)-1] = '\0'; + return buf; +} + +const char *vlr_subscr_msisdn_or_name(struct vlr_subscr *vsub) +{ + if (!vsub || !vsub->msisdn[0]) + return vlr_subscr_name(vsub); + return vsub->msisdn; +} + struct vlr_subscr *_vlr_subscr_find_by_imsi(struct vlr_instance *vlr, const char *imsi, const char *file, int line) -- cgit v1.2.3