aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ejabberd_ctl.erl11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ejabberd_ctl.erl b/src/ejabberd_ctl.erl
index ceb4c34d7..01b07eafe 100644
--- a/src/ejabberd_ctl.erl
+++ b/src/ejabberd_ctl.erl
@@ -292,6 +292,7 @@ call_command([CmdString | Args], Auth, AccessCommands) ->
Result = ejabberd_commands:execute_command(AccessCommands, Auth, Command,
ArgsFormatted),
format_result(Result, ResultFormat);
+ %% This case clause is for Erlang R14 and older
{'EXIT', {function_clause,[{lists,zip,[A1, A2]} | _]}} ->
{NumCompa, TextCompa} =
case {length(A1), length(A2)} of
@@ -300,6 +301,16 @@ call_command([CmdString | Args], Auth, AccessCommands) ->
end,
{io_lib:format("Error: the command ~p requires ~p ~s.",
[CmdString, NumCompa, TextCompa]),
+ wrong_command_arguments};
+ %% This case clause is for Erlang R15 and newer
+ {'EXIT', {function_clause,[{lists,zip,[A1, A2],_} | _]}} ->
+ {NumCompa, TextCompa} =
+ case {length(A1), length(A2)} of
+ {L1, L2} when L1 < L2 -> {L2-L1, "less argument"};
+ {L1, L2} when L1 > L2 -> {L1-L2, "more argument"}
+ end,
+ {io_lib:format("Error: the command ~p requires ~p ~s.",
+ [CmdString, NumCompa, TextCompa]),
wrong_command_arguments}
end
end.