Fix return value and mem leak for all commands
[lttng-tools.git] / src / bin / lttng / commands / disable_events.c
index 7f7b50c78f2bb732500c21e187b28635f084f6a5..4ddcf5431a374f8bc9dc0fbedaa70b28bb5d4532 100644 (file)
@@ -198,7 +198,7 @@ error:
  */
 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 @@ int cmd_disable_events(int argc, const char **argv)
        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 @@ int cmd_disable_events(int argc, const char **argv)
        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 @@ int cmd_disable_events(int argc, const char **argv)
        ret = disable_events(session_name);
 
 end:
+       poptFreeContext(pc);
        return ret;
 }
This page took 0.023888 seconds and 4 git commands to generate.