diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl index 1da0f81b5..93c1d9781 100644 --- a/src/ejabberd_xmlrpc.erl +++ b/src/ejabberd_xmlrpc.erl @@ -374,7 +374,8 @@ format_args(Args, ArgsFormat) -> format_arg({array, Elements}, {list, {ElementDefName, ElementDefFormat}}) when is_list(Elements) -> - lists:map(fun ({struct, [{ElementDefName, ElementValue}]}) -> + lists:map(fun ({struct, [{ElementName, ElementValue}]}) when + ElementDefName == ElementName -> format_arg(ElementValue, ElementDefFormat) end, Elements);