From: Stefan Kost Date: Tue, 14 Apr 2009 08:32:59 +0000 (+0300) Subject: goption: document that some option args need to be freed by the callee X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=57bd24dc4907e6959f953be0759b946c16c78386;p=dana%2Fcg-glib.git goption: document that some option args need to be freed by the callee Option arguments where the result is stored in a string or string array need to be freed by the owner of the option group. Fixes #578363. --- diff --git a/glib/goption.c b/glib/goption.c index 633ad2ec..22d8e618 100644 --- a/glib/goption.c +++ b/glib/goption.c @@ -349,6 +349,9 @@ g_option_context_new (const gchar *parameter_string) * Frees context and all the groups which have been * added to it. * + * Please note that parsed arguments need to be freed separately (see + * #GOptionEntry). + * * Since: 2.6 */ void g_option_context_free (GOptionContext *context) diff --git a/glib/goption.h b/glib/goption.h index 0743e769..f096504c 100644 --- a/glib/goption.h +++ b/glib/goption.h @@ -259,6 +259,11 @@ GQuark g_option_error_quark (void); * %gdouble * * + * If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME the location + * will contain a newly allocated string if the option was given. That string + * needs to be freed by the callee using g_free(). Likewise if @arg type is + * %G_OPTION_ARG_STRING_ARRAY or %G_OPTION_ARG_FILENAME_ARRAY, the data should + * be freed using g_strfreev(). * @description: the description for the option in * output. The @description is translated using the @translate_func of the * group, see g_option_group_set_translation_domain().