X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvalue-variant.c;h=0789717ab70e91ac162e36b359dd5877d79ae758;hb=a0e349cf4628a5a0c60cffa6ec8341c252c1c1e0;hp=e8c342b7bb33ecc19089888342786fbde1b90b41;hpb=52e144652645cab108fb2db0a970f1ace2cbf2ea;p=pspp diff --git a/src/ui/gui/value-variant.c b/src/ui/gui/value-variant.c index e8c342b7bb..0789717ab7 100644 --- a/src/ui/gui/value-variant.c +++ b/src/ui/gui/value-variant.c @@ -28,7 +28,10 @@ enum IDX_DATA }; - +/* Returns a GVariant containing the data contained + in IN and WIDTH. The returned GVariant has a floating + reference. + */ GVariant * value_variant_new (const union value *in, int width) { @@ -52,20 +55,24 @@ value_variant_new (const union value *in, int width) vv[IDX_DATA] = g_variant_new_from_data (G_VARIANT_TYPE_BYTESTRING, q, width + 1, FALSE, NULL, NULL); } - + return g_variant_new_tuple (vv, 2); } +/* Destroy the contents of VAL. Also unref V */ void value_destroy_from_variant (union value *val, GVariant *v) { GVariant *vwidth = g_variant_get_child_value (v, IDX_WIDTH); - gint32 width = g_variant_get_int32 (vwidth); + gint32 width = g_variant_get_int32 (vwidth); /* v is unreffed here */ g_variant_unref (vwidth); value_destroy (val, width); } +/* Fills VAL with the value data held in V. + When VAL is no longer required it must be destroyed using + value_destroy_from_variant. */ void value_variant_get (union value *val, GVariant *v) {