Add comments to value-variant implementation
authorJohn Darrington <john@darrington.wattle.id.au>
Wed, 5 Apr 2017 07:27:39 +0000 (09:27 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Wed, 5 Apr 2017 07:27:39 +0000 (09:27 +0200)
src/ui/gui/value-variant.c

index e8c342b7bb33ecc19089888342786fbde1b90b41..e26e0d4a311c0ab202d5bc3e539e90cbbc27b4ad 100644 (file)
@@ -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)
 {
@@ -56,16 +59,20 @@ value_variant_new (const union value *in, int width)
   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)
 {