diff options
| author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-05-01 14:52:01 +0100 |
|---|---|---|
| committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-05-01 14:52:01 +0100 |
| commit | 3d1e803d6c6fb2b65d57e48f30d19dccf7b01bda (patch) | |
| tree | a089850a95bde2c2feb5d493a186bfbddd0d1660 | |
| parent | 37c56fa9171cd3e1d89efe9d0fce766d62ff94b1 (diff) | |
| download | rabbitmq-server-git-3d1e803d6c6fb2b65d57e48f30d19dccf7b01bda.tar.gz | |
Check that options are not used in the wrong place
| -rw-r--r-- | src/rabbit_control.erl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index 9b317cee04..1a53b0cff2 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -39,6 +39,12 @@ {"Permissions", rabbit_auth_backend_internal, list_vhost_permissions, vhost_perms_info_keys}]). +-define(OPTS_COMMANDS, + [{"-p", [set_permissions, clear_permissions, list_permissions, + list_user_permissions, list_queues, list_bindings, + list_connections, list_channels, list_consumers, trace_on, + trace_off]}]). + %%---------------------------------------------------------------------------- -ifdef(use_specs). @@ -84,6 +90,15 @@ start() -> [string:join([atom_to_list(Command) | Args], " ")]) end, + lists:foreach(fun ({Opt, Commands}) -> + case {proplists:is_defined(Opt, Opts), + lists:member(Command, Commands)} of + {true, false} -> PrintInvalidCommandError(), + usage(); + _ -> ok + end + end, ?OPTS_COMMANDS), + %% The reason we don't use a try/catch here is that rpc:call turns %% thrown errors into normal return values case catch action(Command, Node, Args, Opts, Inform) of |
