From: Badlop <badlop@process-one.net> Date: Wed, 25 Mar 2015 12:56:04 +0000 (+0100) Subject: Detect correctly when vCard does not exist (#21) X-Git-Tag: 15.04~78 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fbb6b65192ca103aedbd8ee803d7fa2c6d634354;p=ejabberd Detect correctly when vCard does not exist (#21) --- diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index f04e6a19a..fb8a5df96 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -976,8 +976,9 @@ get_vcard_content(User, Server, Data) -> JID = jlib:make_jid(User, Server, get_module_resource(Server)), IQ = #iq{type = get, xmlns = ?NS_VCARD}, IQr = Module:Function(JID, JID, IQ), - case IQr#iq.sub_el of - [A1] -> + [A1] = IQr#iq.sub_el, + case A1#xmlel.children of + [_] -> case get_vcard(Data, A1) of [false] -> throw(error_no_value_found_in_vcard); ElemList -> [xml:get_tag_cdata(Elem) || Elem <- ElemList]