1
0
mirror of https://gitlab.gnome.org/GNOME/glib.git synced 2025-07-28 12:53:30 +02:00

gvariant: Never break out of g_variant_iter_loop

* Document how to break out of g_variant_iter_loop style loops.

https://bugzilla.gnome.org/show_bug.cgi?id=664069
This commit is contained in:
Stef Walter
2011-11-14 18:03:47 +01:00
parent 34e3881f2f
commit 411259ddd3

@@ -4872,6 +4872,10 @@ g_variant_iter_next (GVariantIter *iter,
* function and g_variant_iter_next() or g_variant_iter_next_value() on * function and g_variant_iter_next() or g_variant_iter_next_value() on
* the same iterator causes undefined behavior. * the same iterator causes undefined behavior.
* *
* If you break out of a such a while loop using g_variant_iter_loop() then
* you must free or unreference all the unpacked values as you would with
* g_variant_get(). Failure to do so will cause a memory leak.
*
* See the section on <link linkend='gvariant-format-strings'>GVariant * See the section on <link linkend='gvariant-format-strings'>GVariant
* Format Strings</link>. * Format Strings</link>.
* *
@@ -4893,6 +4897,7 @@ g_variant_iter_next (GVariantIter *iter,
* g_variant_get_type_string (value)); * g_variant_get_type_string (value));
* *
* /<!-- -->* no need to free 'key' and 'value' here *<!-- -->/ * /<!-- -->* no need to free 'key' and 'value' here *<!-- -->/
* /<!-- -->* unless breaking out of this loop *<!-- -->/
* } * }
* } * }
* </programlisting> * </programlisting>