From 98d75192746c3d7f0b84ac2ea5c2a7ad50678d3f Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 30 Nov 2023 11:17:22 +0100 Subject: [PATCH] ejabberd_commands: Add the command version as a tag "vX" --- src/ejabberd_commands.erl | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ejabberd_commands.erl b/src/ejabberd_commands.erl index e61569777..416e26edf 100644 --- a/src/ejabberd_commands.erl +++ b/src/ejabberd_commands.erl @@ -147,13 +147,25 @@ register_commands(Definer, Commands) -> lists:foreach( fun(Command) -> %% XXX check if command exists - mnesia:dirty_write(Command#ejabberd_commands{definer = Definer}) + mnesia:dirty_write(register_command_prepare(Command, Definer)) %% ?DEBUG("This command is already defined:~n~p", [Command]) end, Commands), ejabberd_access_permissions:invalidate(), ok. + + + +register_command_prepare(Command, Definer) -> + Tags1 = Command#ejabberd_commands.tags, + Tags2 = case Command#ejabberd_commands.version of + 0 -> Tags1; + Version -> Tags1 ++ [list_to_atom("v"++integer_to_list(Version))] + end, + Command#ejabberd_commands{definer = Definer, tags = Tags2}. + + -spec unregister_commands([ejabberd_commands()]) -> ok. unregister_commands(Commands) ->