-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Merged thanks!

Good catch for the memleak.

David

On 12-02-01 01:59 PM, Thibault, Daniel wrote:
> From 6278f0a825f498faa349bc7c35e1fa8311e07491 Wed, 1 Feb 2012 13:56:43 -0500
> From: Daniel U. Thibault <[email protected]>
> Date: Wed, 1 Feb 2012 13:56:14 -0500
> Subject: [PATCH] For all commands/*.c, add poptFreeContext(), send --help to 
> stdout, default ret to CMD_SUCCESS
> 
> Also fix some return values for list.c
> 
> Signed-off-by: Daniel U. Thibault <[email protected]>
> 
> diff --git a/src/bin/lttng/commands/add_context.c 
> b/src/bin/lttng/commands/add_context.c
> index ce65024..a1d776d 100644
> --- a/src/bin/lttng/commands/add_context.c
> +++ b/src/bin/lttng/commands/add_context.c
> @@ -466,7 +466,6 @@
>               switch (opt) {
>               case OPT_HELP:
>                       usage(stdout);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               case OPT_TYPE:
>                       /*
> @@ -505,7 +504,6 @@
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -532,5 +530,6 @@
>               free(type);
>       }
>  
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/calibrate.c 
> b/src/bin/lttng/commands/calibrate.c
> index a60cadf..547b349 100644
> --- a/src/bin/lttng/commands/calibrate.c
> +++ b/src/bin/lttng/commands/calibrate.c
> @@ -187,7 +187,7 @@
>   */
>  int cmd_calibrate(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>  
>       pc = poptGetContext(NULL, argc, argv, long_options, 0);
> @@ -200,7 +200,6 @@
>               switch (opt) {
>               case OPT_HELP:
>                       usage(stdout);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               case OPT_TRACEPOINT:
>                       ret = CMD_UNDEFINED;
> @@ -225,7 +224,6 @@
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -237,5 +235,6 @@
>       ret = calibrate_lttng();
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/create.c b/src/bin/lttng/commands/create.c
> index 99e5daa..8fa23e3 100644
> --- a/src/bin/lttng/commands/create.c
> +++ b/src/bin/lttng/commands/create.c
> @@ -175,5 +175,6 @@
>       ret = create_session();
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/destroy.c 
> b/src/bin/lttng/commands/destroy.c
> index 39b4e9a..b0262ea 100644
> --- a/src/bin/lttng/commands/destroy.c
> +++ b/src/bin/lttng/commands/destroy.c
> @@ -117,11 +117,10 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> +                     usage(stdout);
>                       goto end;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -135,5 +134,6 @@
>       ret = destroy_session();
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/disable_channels.c 
> b/src/bin/lttng/commands/disable_channels.c
> index bdbb657..05ee0e6 100644
> --- a/src/bin/lttng/commands/disable_channels.c
> +++ b/src/bin/lttng/commands/disable_channels.c
> @@ -140,7 +140,7 @@
>   */
>  int cmd_disable_channels(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>       char *session_name = NULL;
>  
> @@ -150,15 +150,13 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_USERSPACE:
>                       opt_userspace = 1;
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -171,14 +169,14 @@
>       if (opt_channels == NULL) {
>               ERR("Missing channel name(s).\n");
>               usage(stderr);
> -             ret = CMD_SUCCESS;
> +             ret = CMD_ERROR;
>               goto end;
>       }
>  
>       if (!opt_session_name) {
>               session_name = get_session_name();
>               if (session_name == NULL) {
> -                     ret = -1;
> +                     ret = CMD_ERROR;
>                       goto end;
>               }
>       } else {
> @@ -188,5 +186,6 @@
>       ret = disable_channels(session_name);
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/disable_events.c 
> b/src/bin/lttng/commands/disable_events.c
> index 7f7b50c..4ddcf54 100644
> --- a/src/bin/lttng/commands/disable_events.c
> +++ b/src/bin/lttng/commands/disable_events.c
> @@ -198,7 +198,7 @@
>   */
>  int cmd_disable_events(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>       char *session_name = NULL;
>  
> @@ -208,15 +208,13 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_USERSPACE:
>                       opt_userspace = 1;
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -229,14 +227,14 @@
>       if (opt_event_list == NULL && opt_disable_all == 0) {
>               ERR("Missing event name(s).\n");
>               usage(stderr);
> -             ret = CMD_SUCCESS;
> +             ret = CMD_ERROR;
>               goto end;
>       }
>  
>       if (!opt_session_name) {
>               session_name = get_session_name();
>               if (session_name == NULL) {
> -                     ret = -1;
> +                     ret = CMD_ERROR;
>                       goto end;
>               }
>       } else {
> @@ -246,5 +244,6 @@
>       ret = disable_events(session_name);
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/enable_channels.c 
> b/src/bin/lttng/commands/enable_channels.c
> index 03de524..19b6b26 100644
> --- a/src/bin/lttng/commands/enable_channels.c
> +++ b/src/bin/lttng/commands/enable_channels.c
> @@ -219,7 +219,7 @@
>   */
>  int cmd_enable_channels(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>       char *session_name = NULL;
>  
> @@ -231,8 +231,7 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_DISCARD:
>                       chan.attr.overwrite = 0;
> @@ -243,18 +242,22 @@
>                       DBG("Channel set to overwrite");
>                       break;
>               case OPT_SUBBUF_SIZE:
> +                     /* TODO Replace atol with strtol and check for errors */
>                       chan.attr.subbuf_size = atol(poptGetOptArg(pc));
>                       DBG("Channel subbuf size set to %" PRIu64, 
> chan.attr.subbuf_size);
>                       break;
>               case OPT_NUM_SUBBUF:
> +                     /* TODO Replace atoi with strtol and check for errors */
>                       chan.attr.num_subbuf = atoi(poptGetOptArg(pc));
>                       DBG("Channel subbuf num set to %" PRIu64, 
> chan.attr.num_subbuf);
>                       break;
>               case OPT_SWITCH_TIMER:
> +                     /* TODO Replace atoi with strtol and check for errors */
>                       chan.attr.switch_timer_interval = 
> atoi(poptGetOptArg(pc));
>                       DBG("Channel switch timer interval set to %d", 
> chan.attr.switch_timer_interval);
>                       break;
>               case OPT_READ_TIMER:
> +                     /* TODO Replace atoi with strtol and check for errors */
>                       chan.attr.read_timer_interval = atoi(poptGetOptArg(pc));
>                       DBG("Channel read timer interval set to %d", 
> chan.attr.read_timer_interval);
>                       break;
> @@ -263,7 +266,6 @@
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -276,14 +278,14 @@
>       if (opt_channels == NULL) {
>               ERR("Missing channel name.\n");
>               usage(stderr);
> -             ret = CMD_SUCCESS;
> +             ret = CMD_ERROR;
>               goto end;
>       }
>  
>       if (!opt_session_name) {
>               session_name = get_session_name();
>               if (session_name == NULL) {
> -                     ret = -1;
> +                     ret = CMD_ERROR;
>                       goto end;
>               }
>       } else {
> @@ -293,5 +295,6 @@
>       ret = enable_channel(session_name);
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/enable_events.c 
> b/src/bin/lttng/commands/enable_events.c
> index 0fa3e91..f5012d4 100644
> --- a/src/bin/lttng/commands/enable_events.c
> +++ b/src/bin/lttng/commands/enable_events.c
> @@ -413,7 +413,7 @@
>   */
>  int cmd_enable_events(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>       char *session_name = NULL;
>  
> @@ -426,8 +426,7 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_TRACEPOINT:
>                       opt_event_type = LTTNG_EVENT_TRACEPOINT;
> @@ -457,7 +456,6 @@
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -470,14 +468,14 @@
>       if (opt_event_list == NULL && opt_enable_all == 0) {
>               ERR("Missing event name(s).\n");
>               usage(stderr);
> -             ret = CMD_SUCCESS;
> +             ret = CMD_ERROR;
>               goto end;
>       }
>  
>       if (!opt_session_name) {
>               session_name = get_session_name();
>               if (session_name == NULL) {
> -                     ret = -1;
> +                     ret = CMD_ERROR;
>                       goto end;
>               }
>       } else {
> @@ -491,5 +489,6 @@
>               free(session_name);
>       }
>  
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/list.c b/src/bin/lttng/commands/list.c
> index 4b8a07c..d84fd2b 100644
> --- a/src/bin/lttng/commands/list.c
> +++ b/src/bin/lttng/commands/list.c
> @@ -541,6 +541,7 @@
>  
>       if (argc < 1) {
>               usage(stderr);
> +             ret = CMD_ERROR;
>               goto end;
>       }
>  
> @@ -550,14 +551,13 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> +                     usage(stdout);
>                       goto end;
>               case OPT_USERSPACE:
>                       opt_userspace = 1;
>                       break;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -579,6 +579,7 @@
>  
>       handle = lttng_create_handle(session_name, &domain);
>       if (handle == NULL) {
> +             ret = CMD_FATAL;
>               goto end;
>       }
>  
> @@ -586,18 +587,21 @@
>               if (!opt_kernel && !opt_userspace) {
>                       ret = list_sessions(NULL);
>                       if (ret < 0) {
> +                             ret = CMD_ERROR;
>                               goto end;
>                       }
>               }
>               if (opt_kernel) {
>                       ret = list_kernel_events();
>                       if (ret < 0) {
> +                             ret = CMD_ERROR;
>                               goto end;
>                       }
>               }
>               if (opt_userspace) {
>                       ret = list_ust_events();
>                       if (ret < 0) {
> +                             ret = CMD_ERROR;
>                               goto end;
>                       }
>               }
> @@ -605,12 +609,16 @@
>               /* List session attributes */
>               ret = list_sessions(session_name);
>               if (ret < 0) {
> +                     ret = CMD_ERROR;
>                       goto end;
>               }
>  
>               /* Domain listing */
>               if (opt_domain) {
>                       ret = list_domains(session_name);
> +                     if (ret < 0) {
> +                             ret = CMD_ERROR;
> +                     }
>                       goto end;
>               }
>  
> @@ -618,13 +626,14 @@
>                       /* Channel listing */
>                       ret = list_channels(opt_channel);
>                       if (ret < 0) {
> +                             ret = CMD_ERROR;
>                               goto end;
>                       }
>               } else {
>                       /* We want all domain(s) */
>                       nb_domain = lttng_list_domains(session_name, &domains);
>                       if (nb_domain < 0) {
> -                             ret = nb_domain;
> +                             ret = CMD_ERROR;
>                               goto end;
>                       }
>  
> @@ -646,11 +655,13 @@
>  
>                               handle = lttng_create_handle(session_name, 
> &domains[i]);
>                               if (handle == NULL) {
> +                                     ret = CMD_FATAL;
>                                       goto end;
>                               }
>  
>                               ret = list_channels(opt_channel);
>                               if (ret < 0) {
> +                                     ret = CMD_ERROR;
>                                       goto end;
>                               }
>                       }
> @@ -663,5 +674,6 @@
>       }
>       lttng_destroy_handle(handle);
>  
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/set_session.c 
> b/src/bin/lttng/commands/set_session.c
> index f91935e..fdeeaaf 100644
> --- a/src/bin/lttng/commands/set_session.c
> +++ b/src/bin/lttng/commands/set_session.c
> @@ -89,12 +89,10 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -107,11 +105,13 @@
>       if (opt_session_name == NULL) {
>               ERR("Missing session name");
>               usage(stderr);
> +             ret = CMD_ERROR;
>               goto end;
>       }
>  
>       ret = set_session();
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/start.c b/src/bin/lttng/commands/start.c
> index b2a4980..1db0a31 100644
> --- a/src/bin/lttng/commands/start.c
> +++ b/src/bin/lttng/commands/start.c
> @@ -100,7 +100,7 @@
>   */
>  int cmd_start(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>  
>       pc = poptGetContext(NULL, argc, argv, long_options, 0);
> @@ -109,12 +109,10 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -128,5 +126,6 @@
>       ret = start_tracing();
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/stop.c b/src/bin/lttng/commands/stop.c
> index 82c9b4e..689fe1b 100644
> --- a/src/bin/lttng/commands/stop.c
> +++ b/src/bin/lttng/commands/stop.c
> @@ -97,7 +97,7 @@
>   */
>  int cmd_stop(int argc, const char **argv)
>  {
> -     int opt, ret;
> +     int opt, ret = CMD_SUCCESS;
>       static poptContext pc;
>  
>       pc = poptGetContext(NULL, argc, argv, long_options, 0);
> @@ -106,12 +106,10 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -125,5 +123,6 @@
>       ret = stop_tracing();
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> diff --git a/src/bin/lttng/commands/version.c 
> b/src/bin/lttng/commands/version.c
> index f288ba4..030ccaa 100644
> --- a/src/bin/lttng/commands/version.c
> +++ b/src/bin/lttng/commands/version.c
> @@ -66,12 +66,10 @@
>       while ((opt = poptGetNextOpt(pc)) != -1) {
>               switch (opt) {
>               case OPT_HELP:
> -                     usage(stderr);
> -                     ret = CMD_SUCCESS;
> +                     usage(stdout);
>                       goto end;
>               case OPT_LIST_OPTIONS:
>                       list_cmd_options(stdout, long_options);
> -                     ret = CMD_SUCCESS;
>                       goto end;
>               default:
>                       usage(stderr);
> @@ -85,5 +83,6 @@
>       MSG("\nlttng is free software and under the GPL license.");
>  
>  end:
> +     poptFreeContext(pc);
>       return ret;
>  }
> ------------------------------
> 
> Daniel U. Thibault
> R & D pour la défense Canada - Valcartier (RDDC Valcartier) / Defence R&D 
> Canada - Valcartier (DRDC Valcartier)
> Système de systèmes (SdS) / System of Systems (SoS)
> Solutions informatiques et expérimentations (SIE) / Computing Solutions and 
> Experimentations (CSE)
> 2459 Boul. Pie XI Nord
> Québec, QC  G3J 1X5
> CANADA
> Vox : (418) 844-4000 x4245
> Fax : (418) 844-4538
> NAC: 918V QSDJ
> Gouvernement du Canada / Government of Canada
> <http://www.valcartier.drdc-rddc.gc.ca/>
> 
> _______________________________________________
> lttng-dev mailing list
> [email protected]
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQEcBAEBAgAGBQJPKZ5YAAoJEELoaioR9I02Cq0H/Ao4FVydWOZlFbcWhYS9g+Vp
sWKXXnu1alGNLrhRzFR/HdmHyASp5JpJNFlzvXkCXX/+HwAYSKvUGKhhGCf6DhVx
LfqR2ocEgcVtqIol3icp/DykamIeipM1EUeo0YxAHE/BDbooDceho71KziS1appn
r9GHYKNgh5x4tLKNmyjtDIOggn9xfYgnyoWRJkAArmtInwvHdicnzozr5wcdtsOQ
Yl5KKdf6XBwVwTDaX6tCF3LteDeJAaAx411xPD0LXzFMbV4l5cLO0Me8+QE651a1
YP2k02vE3PiZ2dPpOVYqXhXF7ME+C4Vkm2pMi8Bb5YVO1mQJ1nGAZciPCnIAaCo=
=CxHv
-----END PGP SIGNATURE-----

_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to