Let ejabberd_c2s always use fsm_next_state/2
authorHolger Weiss <holger@zedat.fu-berlin.de>
Tue, 27 May 2014 19:07:53 +0000 (21:07 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Tue, 27 May 2014 19:07:53 +0000 (21:07 +0200)
Make sure any logic implemented in ejabberd_c2s:fsm_next_state/2 is
always applied.

src/ejabberd_c2s.erl

index 6aebefdd6ef0ba4aab36b08d83faedfbd518b250..c0b40725aef21c220e2183549b68692d3fe7f5fe 100644 (file)
@@ -763,8 +763,7 @@ wait_for_feature_request({xmlstreamelement, El},
                                    children =
                                        [#xmlel{name = Error, attrs = [],
                                                children = []}]}),
-               {next_state, wait_for_feature_request, StateData,
-                ?C2S_OPEN_TIMEOUT};
+               fsm_next_state(wait_for_feature_request, StateData);
            {error, Error} ->
                send_element(StateData,
                             #xmlel{name = <<"failure">>,
@@ -1692,7 +1691,7 @@ handle_info({force_update_presence, LUser}, StateName,
                         StateData2;
                     _ -> StateData
                   end,
-    {next_state, StateName, NewStateData};
+    fsm_next_state(StateName, NewStateData);
 handle_info({broadcast, Type, From, Packet}, StateName, StateData) ->
     Recipients = ejabberd_hooks:run_fold(
                   c2s_broadcast_recipients, StateData#state.server,