mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
gvalue: Add g_value_clear method
This method is similar to g_value_unset() but will accept an uninitialized (zero-filled) GValue structure. https://bugzilla.gnome.org/show_bug.cgi?id=755766
This commit is contained in:
parent
b36b4941a6
commit
1233962b54
@ -450,6 +450,7 @@ g_value_init
|
||||
g_value_copy
|
||||
g_value_reset
|
||||
g_value_unset
|
||||
g_value_clear
|
||||
g_value_init_from_instance
|
||||
g_value_set_instance
|
||||
g_value_fits_pointer
|
||||
|
@ -273,6 +273,26 @@ g_value_unset (GValue *value)
|
||||
memset (value, 0, sizeof (*value));
|
||||
}
|
||||
|
||||
/**
|
||||
* g_value_clear:
|
||||
* @value: An #GValue structure.
|
||||
*
|
||||
* Clears the current value in @value and "unsets" the type,
|
||||
* this releases all resources associated with this GValue.
|
||||
* Unlike g_value_unset() this method will accept uninitialized
|
||||
* (zero-filled) #GValue structure as @value.
|
||||
*
|
||||
* Since 2.48
|
||||
*/
|
||||
void
|
||||
g_value_clear (GValue *value)
|
||||
{
|
||||
if (value && value->g_type == 0)
|
||||
return;
|
||||
|
||||
g_value_unset (value);
|
||||
}
|
||||
|
||||
/**
|
||||
* g_value_fits_pointer:
|
||||
* @value: An initialized #GValue structure.
|
||||
|
@ -134,6 +134,8 @@ GLIB_AVAILABLE_IN_ALL
|
||||
GValue* g_value_reset (GValue *value);
|
||||
GLIB_AVAILABLE_IN_ALL
|
||||
void g_value_unset (GValue *value);
|
||||
GLIB_AVAILABLE_IN_2_48
|
||||
void g_value_clear (GValue *value);
|
||||
GLIB_AVAILABLE_IN_ALL
|
||||
void g_value_set_instance (GValue *value,
|
||||
gpointer instance);
|
||||
|
Loading…
Reference in New Issue
Block a user