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;
}