dissolve libcommon: drop gsm_subscriber_base.c, move vlr_subscr_* to vlr.c

Change-Id: Ia69890da68b8afa8a2a4e8ab58ec5c4a4ba9d06a
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 01e7ee1..3e14593 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -76,6 +76,33 @@
 	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)