aboutsummaryrefslogtreecommitdiffstats
path: root/epan/base64.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2008-08-03 14:27:22 +0000
committerAnders Broman <anders.broman@ericsson.com>2008-08-03 14:27:22 +0000
commit2b9d63a4b5ba6b10f596339a317ca36a8d66c460 (patch)
tree07312614ae843f729998c1214e2fb34511d69cba /epan/base64.c
parentea4fbda062c37643112842b07dc19b2144dfc2c7 (diff)
Move common code to base64.c
svn path=/trunk/; revision=25908
Diffstat (limited to 'epan/base64.c')
-rw-r--r--epan/base64.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/epan/base64.c b/epan/base64.c
index e48d941b1a..7a5966d843 100644
--- a/epan/base64.c
+++ b/epan/base64.c
@@ -66,3 +66,21 @@ size_t epan_base64_decode(char *s)
return i*3/4;
}
+
+/* Return a tvb that contains the binary representation of a base64
+ string */
+
+tvbuff_t *
+base64_to_tvb(const char *base64)
+{
+ tvbuff_t *tvb;
+ char *data = g_strdup(base64);
+ size_t len;
+
+ len = epan_base64_decode(data);
+ tvb = tvb_new_real_data((const guint8 *)data, len, len);
+
+ tvb_set_free_cb(tvb, g_free);
+
+ return tvb;
+} \ No newline at end of file