diff options
author | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-12-21 14:33:54 +0000 |
---|---|---|
committer | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-12-21 14:33:54 +0000 |
commit | 576c7eae45be250478b5317bacfa19ad46f812de (patch) | |
tree | d743bd527401fa0287c196c793c43b5fb5aff182 /epan/tvbuff_base64.c | |
parent | 3778699fb53cb0ab07a0ca0977f3efd5c3a86681 (diff) | |
download | wireshark-576c7eae45be250478b5317bacfa19ad46f812de.tar.gz |
Move base64_to_tvb() to tvbuff_base64.c
svn path=/trunk/; revision=54325
Diffstat (limited to 'epan/tvbuff_base64.c')
-rw-r--r-- | epan/tvbuff_base64.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/epan/tvbuff_base64.c b/epan/tvbuff_base64.c new file mode 100644 index 0000000000..425670a71b --- /dev/null +++ b/epan/tvbuff_base64.c @@ -0,0 +1,45 @@ +/* tvbuff_base64.c + * Base-64 tvbuff implementation (based on real tvb) + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" + +#include <glib.h> + +#include <epan/tvbuff.h> +#include <epan/base64.h> + +tvbuff_t * +base64_to_tvb(tvbuff_t *parent, const char *base64) +{ + tvbuff_t *tvb; + char *data = g_strdup(base64); + gint len; + + len = (gint) epan_base64_decode(data); + tvb = tvb_new_child_real_data(parent, (const guint8 *)data, len, len); + + tvb_set_free_cb(tvb, g_free); + + return tvb; +} |