mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-23 10:27:51 +02:00
made config arg to g_scanner_new() const.
Fri Mar 9 18:01:43 2001 Tim Janik <timj@gtk.org> * gscanner.[hc]: made config arg to g_scanner_new() const. Fri Mar 9 16:42:08 2001 Tim Janik <timj@gtk.org> * gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as a public function (was static in gobject.c before). it's a bit odd to have that function here, especially since it requires extra includes, but then it doesn't very well fit somewhere else either. * gparamspecs.c: added default/max/min checks to param spec creation functions.
This commit is contained in:
@@ -641,67 +641,6 @@ object_get_property (GObject *object,
|
||||
class->get_property (object, PARAM_SPEC_PARAM_ID (pspec), value, pspec);
|
||||
}
|
||||
|
||||
static gchar*
|
||||
g_strdup_value_contents (const GValue *value)
|
||||
{
|
||||
const gchar *src;
|
||||
gchar *contents;
|
||||
|
||||
g_return_val_if_fail (G_IS_VALUE (value), NULL);
|
||||
|
||||
if (G_VALUE_HOLDS_STRING (value))
|
||||
{
|
||||
src = g_value_get_string (value);
|
||||
|
||||
if (!src)
|
||||
contents = g_strdup ("NULL");
|
||||
else
|
||||
{
|
||||
gchar *s = g_strescape (src, NULL);
|
||||
|
||||
contents = g_strdup_printf ("\"%s\"", s);
|
||||
g_free (s);
|
||||
}
|
||||
}
|
||||
else if (g_value_type_transformable (G_VALUE_TYPE (value), G_TYPE_STRING))
|
||||
{
|
||||
GValue tmp_value = { 0, };
|
||||
|
||||
g_value_init (&tmp_value, G_TYPE_STRING);
|
||||
g_value_transform (value, &tmp_value);
|
||||
if (G_VALUE_HOLDS_ENUM (value) || G_VALUE_HOLDS_FLAGS (value))
|
||||
contents = g_strdup_printf ("((%s) %s)",
|
||||
g_type_name (G_VALUE_TYPE (value)),
|
||||
g_value_get_string (&tmp_value));
|
||||
else
|
||||
{
|
||||
src = g_value_get_string (&tmp_value);
|
||||
contents = g_strdup (src ? src : "NULL");
|
||||
}
|
||||
g_value_unset (&tmp_value);
|
||||
}
|
||||
else if (g_value_fits_pointer (value))
|
||||
{
|
||||
gpointer p = g_value_peek_pointer (value);
|
||||
|
||||
if (!p)
|
||||
contents = g_strdup ("NULL");
|
||||
else if (G_VALUE_HOLDS_OBJECT (value))
|
||||
contents = g_strdup_printf ("((%s*) %p)", G_OBJECT_TYPE_NAME (p), p);
|
||||
else if (G_VALUE_HOLDS_PARAM (value))
|
||||
contents = g_strdup_printf ("((%s*) %p)", G_PARAM_SPEC_TYPE_NAME (p), p);
|
||||
else if (G_VALUE_HOLDS_BOXED (value))
|
||||
contents = g_strdup_printf ("((%s*) %p)", g_type_name (G_VALUE_TYPE (value)), p);
|
||||
else if (G_VALUE_HOLDS_POINTER (value))
|
||||
contents = g_strdup_printf ("((gpointer) %p)", p);
|
||||
else
|
||||
contents = g_strdup ("???");
|
||||
}
|
||||
else
|
||||
contents = g_strdup ("???");
|
||||
return contents;
|
||||
}
|
||||
|
||||
static inline void
|
||||
object_set_property (GObject *object,
|
||||
GParamSpec *pspec,
|
||||
|
Reference in New Issue
Block a user