X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Foption.c;h=eb62e6c354da31c13b9b5e5691139a9c545eb322;hb=48f6f3c280c4b511fdbdc3a650b2f4aa7040fc97;hp=c5180ef25d07305c12c361f6946ec23b28e66474;hpb=3d218f2ac9806110849c9f6055ab9787680bb195;p=lttv.git diff --git a/ltt/branches/poly/lttv/option.c b/ltt/branches/poly/lttv/option.c index c5180ef2..eb62e6c3 100644 --- a/ltt/branches/poly/lttv/option.c +++ b/ltt/branches/poly/lttv/option.c @@ -63,6 +63,17 @@ void lttv_option_init(int argc, char **argv) { void lttv_option_destroy() { + struct poptOption *poption; + + int i; + + for(i=0; i < lttv_options_command_popt->len ; i++) { + poption = &g_array_index (lttv_options_command_popt, struct poptOption, i); + + g_free((gpointer)poption->longName); + g_free((gpointer)poption->descrip); + g_free((gpointer)poption->argDescrip); + } g_array_free(lttv_options_command_popt,TRUE) ; g_array_free(lttv_options_command,TRUE) ; @@ -83,18 +94,19 @@ static int poptToLTT[] = { }; -void lttv_option_add(char *long_name, char char_name, char *description, - char *argDescription, lttv_option_type t, void *p, - lttv_option_hook h, void *hook_data) +void lttv_option_add(const char *long_name, const char char_name, + const char *description, const char *argDescription, + const lttv_option_type t, void *p, + const lttv_option_hook h, void *hook_data) { struct poptOption poption; lttv_option option; - poption.longName = long_name; + poption.longName = (char *)g_strdup(long_name); poption.shortName = char_name; - poption.descrip = description; - poption.argDescrip = argDescription; + poption.descrip = (char *)g_strdup(description); + poption.argDescrip = (char *)g_strdup(argDescription); poption.argInfo = poptToLTT[t]; poption.arg = p; poption.val = lttv_options_command->len + 1;