/* Clears the current value in @value (if any) and "unsets" the type, this releases all resources associated with this GValue. An unset value is the same as an uninitialized (zero-filled) #GValue structure.  */
void g_value_unset(GValue *value)
/* Clears the current value in @value (if any) and "unsets" the type, this releases all resources associated with this GValue. An unset value is the same as an uninitialized (zero-filled) #GValue structure.  */
void g_value_unset(GValue *value)
{
  GTypeValueTable *value_table;
  if (value->g_type == 0)
    return;
  g_return_if_fail (G_IS_VALUE (value));
  value_table = g_type_value_table_peek (G_VALUE_TYPE (value));
  if (value_table->value_free)
    value_table->value_free (value);
  memset (value, 0, sizeof (*value));
}