loudmouth/lm-connection.c
changeset 613 174c17adc1e7
parent 609 8dab2a5c2123
child 614 773201ca404c
equal deleted inserted replaced
612:70ab966760fd 613:174c17adc1e7
   341     if (lm_message_get_type (m) == LM_MESSAGE_TYPE_STREAM) {
   341     if (lm_message_get_type (m) == LM_MESSAGE_TYPE_STREAM) {
   342         connection_stream_received (connection, m);
   342         connection_stream_received (connection, m);
   343         goto out;
   343         goto out;
   344     }
   344     }
   345 
   345 
   346     result = connection_run_message_handler (connection, m);
   346     if ((lm_message_get_type (m) != LM_MESSAGE_TYPE_IQ) ||
   347     if (result == LM_HANDLER_RESULT_REMOVE_MESSAGE) {
   347         (lm_message_get_sub_type (m) == LM_MESSAGE_SUB_TYPE_ERROR) ||
   348         goto out;
   348         (lm_message_get_sub_type (m) == LM_MESSAGE_SUB_TYPE_RESULT)) {
       
   349         result = connection_run_message_handler (connection, m);
       
   350         if (result == LM_HANDLER_RESULT_REMOVE_MESSAGE) {
       
   351             goto out;
       
   352         }
   349     }
   353     }
   350 
   354 
   351     for (l = connection->handlers[lm_message_get_type (m)];
   355     for (l = connection->handlers[lm_message_get_type (m)];
   352          l && result == LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
   356          l && result == LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
   353          l = l->next) {
   357          l = l->next) {