gsm_utils: Add osmo_dump_gsmtime

Used by osmo-bts, moved from osmo-bts l1sap.c:dump_gsmtime.

Change-Id: Ib5452e2c20f53006c0f6d197fb055728947125d8
diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c
index 61d3f83..2c980d2 100644
--- a/src/gsm/gsm_utils.c
+++ b/src/gsm/gsm_utils.c
@@ -90,6 +90,7 @@
 #include <stdio.h>
 #include <errno.h>
 #include <ctype.h>
+#include <inttypes.h>
 
 #include "../../config.h"
 
@@ -758,6 +759,16 @@
 	return (51 * ((time->t3 - time->t2 + 26) % 26) + time->t3 + (26 * 51 * time->t1));
 }
 
+char *osmo_dump_gsmtime(const struct gsm_time *tm)
+{
+	static char buf[64];
+
+	snprintf(buf, sizeof(buf), "%06"PRIu32"/%02"PRIu16"/%02"PRIu8"/%02"PRIu8"/%02"PRIu8,
+		 tm->fn, tm->t1, tm->t2, tm->t3, (uint8_t)tm->fn%52);
+	buf[sizeof(buf)-1] = '\0';
+	return buf;
+}
+
 /*! append range1024 encoded data to bit vector
  *  \param[out] bv Caller-provided output bit-vector
  *  \param[in] r Input Range1024 sructure */