From 89787875d4fbd495c41afb6bb9fddc4fff7dc74e Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 10 Dec 2012 13:36:34 +0100 Subject: [PATCH] In frontends, if result is in binary then convert to string --- src/ejabberd_ctl.erl | 5 ++++- src/ejabberd_xmlrpc.erl | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ejabberd_ctl.erl b/src/ejabberd_ctl.erl index 2bb65947b..0cee03357 100644 --- a/src/ejabberd_ctl.erl +++ b/src/ejabberd_ctl.erl @@ -347,9 +347,12 @@ format_result(Atom, {_Name, atom}) -> format_result(Int, {_Name, integer}) -> io_lib:format("~p", [Int]); -format_result(String, {_Name, string}) -> +format_result(String, {_Name, string}) when is_list(String) -> io_lib:format("~s", [String]); +format_result(Binary, {_Name, string}) when is_binary(Binary) -> + io_lib:format("~s", [binary_to_list(Binary)]); + format_result(Code, {_Name, rescode}) -> make_status(Code); diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl index c86dc396b..5f20fa4f5 100644 --- a/src/ejabberd_xmlrpc.erl +++ b/src/ejabberd_xmlrpc.erl @@ -405,9 +405,9 @@ format_result(Atom, {Name, atom}) -> [{Name, iolist_to_binary(atom_to_list(Atom))}]}; format_result(Int, {Name, integer}) -> {struct, [{Name, Int}]}; -format_result(String, {Name, string}) -> +format_result(String, {Name, string}) when is_list(String) -> {struct, [{Name, lists:flatten(String)}]}; -format_result(Binary, {Name, binary}) -> +format_result(Binary, {Name, string}) when is_binary(Binary) -> {struct, [{Name, binary_to_list(Binary)}]}; format_result(Code, {Name, rescode}) -> {struct, [{Name, make_status(Code)}]};