2005-11-21 Andy Wingo <wingo@pobox.com>
+ * gst/gst.h: Include glib-compat.h.
+
+ * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
+
+ * gst/glib-compat.c: Include the public and the private header.
+
+ * gst/glib-compat-private.h: Copied here from glib-compat.h.
+
+ * gst/gstvalue.c:
+ * gst/gstpad.c:
+ * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
+
* check/gst/gstevent.c (create_custom_events): Check that
FLUSH_STOP is serialized.
--- /dev/null
+/*
+ * glib-compat.c
+ * Functions copied from glib 2.8
+ *
+ * Copyright 2005 David Schleef <ds@schleef.org>
+ */
+
+#include "gst_private.h" /* for g_warning */
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+/* copies */
+#if !GLIB_CHECK_VERSION (2, 8, 0)
+int g_mkdir_with_parents (const gchar *pathname, int mode);
+#endif
+
+/* adaptations */
+#include <glib-object.h>
+GFlagsValue*
+gst_flags_get_first_value (GFlagsClass *flags_class,
+ guint value);
+
+GObject*
+g_value_dup_gst_object (const GValue *value);
+G_END_DECLS
+
-/*
- * glib-compat.c
- * Functions copied from glib 2.6 and 2.8
+/* GStreamer
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * glib-compat.h: Public GLib compatibility shims
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
*
- * Copyright 2005 David Schleef <ds@schleef.org>
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
+/*
+ * Modified by the GLib Team and others 1997-2000. See the AUTHORS file from
+ * glib-2.8.0 for a list of people on the GLib Team. See the ChangeLog files
+ * from glib-2.8.0 for a list of changes. These files are distributed with GLib
+ * at ftp://ftp.gtk.org/pub/gtk/.
*/
-#include "gst_private.h" /* for g_warning */
-#include <glib.h>
+#ifndef __GST_GLIB_COMPAT_H__
+#define __GST_GLIB_COMPAT_H__
G_BEGIN_DECLS
-/* copies */
+/* added in GLib 2.8 */
#if !GLIB_CHECK_VERSION (2, 8, 0)
-int g_mkdir_with_parents (const gchar *pathname, int mode);
+#if __GNUC__ >= 4
+#define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
+#else
+#define G_GNUC_NULL_TERMINATED
+#endif
#endif
-/* adaptations */
-#include <glib-object.h>
-GFlagsValue*
-gst_flags_get_first_value (GFlagsClass *flags_class,
- guint value);
-
-GObject*
-g_value_dup_gst_object (const GValue *value);
G_END_DECLS
+#endif /* __GST_GLIB_COMPAT_H__ */