diff options
Diffstat (limited to 'src/ejabberd_xmlrpc.erl')
-rw-r--r-- | src/ejabberd_xmlrpc.erl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl index 904604fc9..7e4371049 100644 --- a/src/ejabberd_xmlrpc.erl +++ b/src/ejabberd_xmlrpc.erl @@ -466,6 +466,12 @@ format_result(String, {Name, string}) when is_list(String) -> {struct, [{Name, lists:flatten(String)}]}; format_result(Binary, {Name, string}) when is_binary(Binary) -> {struct, [{Name, binary_to_list(Binary)}]}; +format_result(Atom, {Name, string}) when is_atom(Atom) -> + {struct, [{Name, atom_to_list(Atom)}]}; +format_result(Integer, {Name, string}) when is_integer(Integer) -> + {struct, [{Name, integer_to_list(Integer)}]}; +format_result(Other, {Name, string}) -> + {struct, [{Name, io_lib:format("~p", [Other])}]}; format_result(String, {Name, binary}) when is_list(String) -> {struct, [{Name, lists:flatten(String)}]}; format_result(Binary, {Name, binary}) when is_binary(Binary) -> |