Migrate from gprs_apn_to_str() to libosmocore osmo_apn_to_str()

In 2015, Jacob moved/copied related functions to libosmocore, but
for some reason didn't remove the copies here.  Let's follow-up on
that and remove duplicated code.

The libosmocore commit introducing osmo_apn_to_str() was
8114294bf29ac6e44822c0ae43d4b0819f11b022

Change-Id: I7315ffcbed8a54cca2056f313bb7783ad82d0ee9
diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c
index cc8d6c3..cf44cc4 100644
--- a/src/gprs/sgsn_vty.c
+++ b/src/gprs/sgsn_vty.c
@@ -28,6 +28,7 @@
 #include <osmocom/core/utils.h>
 #include <osmocom/core/rate_ctr.h>
 #include <osmocom/gsm/protocol/gsm_04_08_gprs.h>
+#include <osmocom/gsm/apn.h>
 
 #include <openbsc/debug.h>
 #include <openbsc/sgsn.h>
@@ -116,7 +117,6 @@
 
 
 #define GSM48_MAX_APN_LEN	102	/* 10.5.6.1 */
-/* TODO: consolidate with gprs_apn_to_str(). */
 /** Copy apn to a static buffer, replacing the length octets in apn_enc with '.'
  * and terminating with a '\0'. Return the static buffer.
  * len: the length of the encoded APN (which has no terminating zero).
@@ -124,23 +124,10 @@
 static char *gprs_apn2str(uint8_t *apn, unsigned int len)
 {
 	static char apnbuf[GSM48_MAX_APN_LEN+1];
-	unsigned int i = 0;
 
 	if (!apn)
 		return "";
-
-	if (len > sizeof(apnbuf)-1)
-		len = sizeof(apnbuf)-1;
-
-	memcpy(apnbuf, apn, len);
-	apnbuf[len] = '\0';
-
-	/* replace the domain name step sizes with dots */
-	while (i < len) {
-		unsigned int step = apnbuf[i];
-		apnbuf[i] = '.';
-		i += step+1;
-	}
+	osmo_apn_to_str(apnbuf, apn, len);
 
 	return apnbuf+1;
 }