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

View File

@ -4872,6 +4872,10 @@ g_variant_iter_next (GVariantIter *iter,
* function and g_variant_iter_next() or g_variant_iter_next_value() on
* 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
* Format Strings</link>.
*
@ -4893,6 +4897,7 @@ g_variant_iter_next (GVariantIter *iter,
* g_variant_get_type_string (value));
*
* /<!-- -->* no need to free 'key' and 'value' here *<!-- -->/
* /<!-- -->* unless breaking out of this loop *<!-- -->/
* }
* }
* </programlisting>