summaryrefslogtreecommitdiff
path: root/src/mod_private.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_private.erl')
-rw-r--r--src/mod_private.erl26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/mod_private.erl b/src/mod_private.erl
index a4ec97d1..868d0ef9 100644
--- a/src/mod_private.erl
+++ b/src/mod_private.erl
@@ -34,10 +34,10 @@ stop() ->
gen_iq_handler:remove_iq_handler(ejabberd_local, ?NS_PRIVATE).
-process_local_iq(From, To, {iq, ID, Type, XMLNS, SubEl}) ->
+process_local_iq(From, _To, #iq{type = Type, sub_el = SubEl} = IQ) ->
#jid{luser = LUser, lserver = LServer} = From,
case ?MYNAME of
- Server ->
+ LServer ->
{xmlelement, Name, Attrs, Els} = SubEl,
case Type of
set ->
@@ -48,24 +48,26 @@ process_local_iq(From, To, {iq, ID, Type, XMLNS, SubEl}) ->
end, Els)
end,
mnesia:transaction(F),
- {iq, ID, result, XMLNS, [{xmlelement, Name, Attrs, []}]};
+ IQ#iq{type = result,
+ sub_el = [{xmlelement, Name, Attrs, []}]};
get ->
case catch get_data(LUser, Els) of
- {'EXIT', Reason} ->
- {iq, ID, error, XMLNS,
- [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
+ {'EXIT', _Reason} ->
+ IQ#iq{type = error,
+ sub_el = [SubEl,
+ ?ERR_INTERNAL_SERVER_ERROR]};
Res ->
- {iq, ID, result, XMLNS,
- [{xmlelement, Name, Attrs, Res}]}
+ IQ#iq{type = result,
+ sub_el = [{xmlelement, Name, Attrs, Res}]}
end
end;
_ ->
- {iq, ID, error, XMLNS, [SubEl, ?ERR_NOT_ALLOWED]}
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
end.
set_data(LUser, El) ->
case El of
- {xmlelement, Name, Attrs, Els} ->
+ {xmlelement, _Name, Attrs, _Els} ->
XMLNS = xml:get_attr_s("xmlns", Attrs),
case XMLNS of
"" ->
@@ -81,11 +83,11 @@ set_data(LUser, El) ->
get_data(LUser, Els) ->
get_data(LUser, Els, []).
-get_data(LUser, [], Res) ->
+get_data(_LUser, [], Res) ->
lists:reverse(Res);
get_data(LUser, [El | Els], Res) ->
case El of
- {xmlelement, Name, Attrs, _} ->
+ {xmlelement, _Name, Attrs, _} ->
XMLNS = xml:get_attr_s("xmlns", Attrs),
case mnesia:dirty_read(private_storage, {LUser, XMLNS}) of
[R] ->