diff options
author | Christian Persch <chpe@gnome.org> | 2010-06-19 16:42:11 +0200 |
---|---|---|
committer | Christian Persch <chpe@gnome.org> | 2010-06-19 19:07:36 +0200 |
commit | 052ef2614af7a8706035982d8211fff64241e83f (patch) | |
tree | 9a459d4378d42af83cbe46182902621a9d8e54d0 /glib/gvariant-core.c | |
parent | 7bb00fd0e8a18b3e20d30053579f002e587dfbbb (diff) | |
download | glib-052ef2614af7a8706035982d8211fff64241e83f.tar.gz |
Add g_variant_is_floating
Diffstat (limited to 'glib/gvariant-core.c')
-rw-r--r-- | glib/gvariant-core.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/glib/gvariant-core.c b/glib/gvariant-core.c index e3597e484..2b8caa504 100644 --- a/glib/gvariant-core.c +++ b/glib/gvariant-core.c @@ -675,6 +675,30 @@ g_variant_ref_sink (GVariant *value) } /** + * g_variant_is_floating: + * @value: a #GVariant + * @returns: whether @value is floating + * + * Checks whether @value has a floating reference count. + * + * This function should only ever be used to assert that a given variant + * is or is not floating, or for debug purposes. To acquire a reference + * to a variant that might be floating, always use g_variant_ref_sink(). + * + * See g_variant_ref_sink() for more information about floating reference + * counts. + * + * Since: 2.26 + **/ +gboolean +g_variant_is_floating (GVariant *value) +{ + g_return_val_if_fail (value != NULL, FALSE); + + return (value->state & STATE_FLOATING) != 0; +} + +/** * g_variant_get_size: * @value: a #GVariant instance * @returns: the serialised size of @value |