aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil/glib-compat.c
diff options
context:
space:
mode:
Diffstat (limited to 'wsutil/glib-compat.c')
-rw-r--r--wsutil/glib-compat.c77
1 files changed, 77 insertions, 0 deletions
diff --git a/wsutil/glib-compat.c b/wsutil/glib-compat.c
new file mode 100644
index 0000000000..5d3cec8374
--- /dev/null
+++ b/wsutil/glib-compat.c
@@ -0,0 +1,77 @@
+/*
+* Provide some functions that are not present in older
+* GLIB versions (down to 2.22)
+*
+* 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 "glib-compat.h"
+#if !GLIB_CHECK_VERSION(2, 28, 0)
+/**
+* g_slist_free_full:
+* @list: a pointer to a #GSList
+* @free_func: the function to be called to free each element's data
+*
+* Convenience method, which frees all the memory used by a #GSList, and
+* calls the specified destroy function on every element's data.
+*
+* Since: 2.28
+**/
+void
+g_slist_free_full(GSList *list,
+ GDestroyNotify free_func)
+{
+ g_slist_foreach(list, (GFunc)free_func, NULL);
+ g_slist_free(list);
+}
+
+/**
+* g_list_free_full:
+* @list: a pointer to a #GList
+* @free_func: the function to be called to free each element's data
+*
+* Convenience method, which frees all the memory used by a #GList,
+* and calls @free_func on every element's data.
+*
+* Since: 2.28
+*/
+void
+g_list_free_full(GList *list,
+ GDestroyNotify free_func)
+{
+ g_list_foreach(list, (GFunc)free_func, NULL);
+ g_list_free(list);
+}
+
+#endif
+/*
+* Editor modelines - http://www.wireshark.org/tools/modelines.html
+*
+* Local variables:
+* c-basic-offset: 4
+* tab-width: 8
+* indent-tabs-mode: nil
+* End:
+*
+* vi: set shiftwidth=4 tabstop=8 expandtab:
+* :indentSize=4:tabSize=8:noTabs=true:
+*/