aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2015-05-14 01:04:23 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2015-05-14 01:04:23 +0200
commit6efce7f7062a6a1e16dfd0411ae9f93a593f632c (patch)
treedc1ea1d3e847d672b7a749393b32335073520f33 /src
parentDon't assume send_element/2 returns ok or error (diff)
Cosmetic change: Simplify error checking
Let send_stanza_and_ack_req/2 update the #state instead of propagating the value returned by send_element/2. This doesn't change the behavior.
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_c2s.erl18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 82dce0f08..a6112673b 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1912,12 +1912,7 @@ send_stanza(StateData, Stanza) when StateData#state.csi_state == inactive ->
send_stanza(StateData, Stanza) when StateData#state.mgmt_state == pending ->
mgmt_queue_add(StateData, Stanza);
send_stanza(StateData, Stanza) when StateData#state.mgmt_state == active ->
- NewStateData = case send_stanza_and_ack_req(StateData, Stanza) of
- ok ->
- StateData;
- _Error ->
- StateData#state{mgmt_state = pending}
- end,
+ NewStateData = send_stanza_and_ack_req(StateData, Stanza),
mgmt_queue_add(NewStateData, Stanza);
send_stanza(StateData, Stanza) ->
send_element(StateData, Stanza),
@@ -2830,11 +2825,12 @@ send_stanza_and_ack_req(StateData, Stanza) ->
AckReq = #xmlel{name = <<"r">>,
attrs = [{<<"xmlns">>, StateData#state.mgmt_xmlns}],
children = []},
- case send_element(StateData, Stanza) of
- ok ->
- send_element(StateData, AckReq);
- Error ->
- Error
+ case send_element(StateData, Stanza) == ok andalso
+ send_element(StateData, AckReq) == ok of
+ true ->
+ StateData;
+ false ->
+ StateData#state{mgmt_state = pending}
end.
mgmt_queue_add(StateData, El) ->