summaryrefslogtreecommitdiff
path: root/src/mod_stats.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_stats.erl')
-rw-r--r--src/mod_stats.erl14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mod_stats.erl b/src/mod_stats.erl
index 09eb18cd..ab76021f 100644
--- a/src/mod_stats.erl
+++ b/src/mod_stats.erl
@@ -27,11 +27,12 @@ stop() ->
gen_iq_handler:remove_iq_handler(ejabberd_local, ?NS_STATS).
-process_local_iq(From, To, {iq, ID, Type, XMLNS, SubEl}) ->
+process_local_iq(From, To, #iq{id = ID, type = Type,
+ xmlns = XMLNS, sub_el = SubEl} = IQ) ->
Lang = xml:get_tag_attr_s("xml:lang", SubEl),
case Type of
set ->
- {iq, ID, error, XMLNS, [SubEl, ?ERR_NOT_ALLOWED]};
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
get ->
{xmlelement, _, Attrs, Els} = SubEl,
Node = string:tokens(xml:get_tag_attr_s("node", SubEl), "/"),
@@ -39,11 +40,12 @@ process_local_iq(From, To, {iq, ID, Type, XMLNS, SubEl}) ->
case get_local_stats(Node, Names) of
{result, Res} ->
- {iq, ID, result, XMLNS,
- [{xmlelement, "query", [{"xmlns", XMLNS}], Res}]};
+ IQ#iq{type = result,
+ sub_el = [{xmlelement, "query",
+ [{"xmlns", XMLNS}],
+ Res}]};
{error, Error} ->
- {iq, ID, error, XMLNS,
- [SubEl, Error]}
+ IQ#iq{type = error, sub_el = [SubEl, Error]}
end
end.