comparison libpurple/protocols/msn/directconn.c @ 30066:28f774432954

Use msn_dc_fallback_to_p2p where possible.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Mon, 17 May 2010 08:42:51 +0000
parents 60ea80b5af53
children ccae796bdbad
comparison
equal deleted inserted replaced
30065:1efb52ff7ad0 30066:28f774432954
321 purple_debug_info("msn", "msn_dc_try_fallback_to_p2p %p\n", dc); 321 purple_debug_info("msn", "msn_dc_try_fallback_to_p2p %p\n", dc);
322 322
323 g_return_if_fail(dc != NULL); 323 g_return_if_fail(dc != NULL);
324 324
325 slpcall = dc->slpcall; 325 slpcall = dc->slpcall;
326 g_return_if_fail(slpcall != NULL);
327 326
328 msn_dc_destroy(dc); 327 msn_dc_destroy(dc);
329 328
330 msn_slpcall_session_init(slpcall); 329 if (slpcall)
330 msn_slpcall_session_init(slpcall);
331 } 331 }
332 332
333 static void 333 static void
334 msn_dc_parse_binary_header(MsnDirectConn *dc) 334 msn_dc_parse_binary_header(MsnDirectConn *dc)
335 { 335 {
803 close(dc->listenfd); 803 close(dc->listenfd);
804 dc->listenfd = -1; 804 dc->listenfd = -1;
805 } 805 }
806 806
807 dc->connect_timeout_handle = 0; 807 dc->connect_timeout_handle = 0;
808 msn_dc_destroy(dc); 808 msn_dc_fallback_to_p2p(dc);
809
810 /* Start p2p file transfer, if possible */
811 if (slpcall)
812 msn_slpcall_session_init(slpcall);
813 809
814 return FALSE; 810 return FALSE;
815 } 811 }
816 812
817 /* 813 /*
865 } else { 861 } else {
866 /* 862 /*
867 * Both internal and external connection attempts failed. 863 * Both internal and external connection attempts failed.
868 * Fall back to p2p transfer. 864 * Fall back to p2p transfer.
869 */ 865 */
870 MsnSlpCall *slpcall = dc->slpcall; 866 msn_dc_fallback_to_p2p(dc);
871
872 msn_dc_destroy(dc);
873 /* Start p2p file transfer, if possible */
874 if (slpcall)
875 msn_slpcall_session_init(slpcall);
876 } 867 }
877 868
878 return FALSE; 869 return FALSE;
879 } 870 }
880 871