--- a/libpurple/protocols/jabber/si.c Fri Sep 06 02:48:06 2013 +0530 +++ b/libpurple/protocols/jabber/si.c Fri Sep 06 03:12:43 2013 +0530 @@ -1072,7 +1072,7 @@ purple_circular_buffer_new(jabber_ibb_session_get_block_size(sess)); /* set up read function */ - purple_xfer_get_io_ops(xfer)->read = jabber_si_xfer_ibb_read; + purple_xfer_set_read_fnc(xfer, jabber_si_xfer_ibb_read); /* start the transfer */ purple_xfer_start(xfer, -1, NULL, 0); @@ -1154,7 +1154,7 @@ jabber_ibb_session_set_error_callback(jsx->ibb_session, jabber_si_xfer_ibb_error_cb); - purple_xfer_get_io_ops(xfer)->write = jabber_si_xfer_ibb_write; + purple_xfer_set_write_fnc(xfer, jabber_si_xfer_ibb_write); jsx->ibb_buffer = purple_circular_buffer_new(jabber_ibb_session_get_max_data_size(jsx->ibb_session)); @@ -1616,19 +1616,6 @@ } } -static PurpleXferIoOps send_ops = -{ - jabber_si_xfer_init, /* init */ - NULL, /* request_denied */ - NULL, /* start */ - jabber_si_xfer_end, /* end */ - jabber_si_xfer_cancel_send, /* cancel_send */ - NULL, /* cancel_recv */ - NULL, /* read */ - NULL, /* write */ - NULL, /* ack */ -}; - PurpleXfer *jabber_si_new_xfer(PurpleConnection *gc, const char *who) { JabberStream *js; @@ -1648,7 +1635,9 @@ jsx->ibb_session = NULL; - purple_xfer_set_io_ops(xfer, &send_ops); + purple_xfer_set_init_fnc(xfer, jabber_si_xfer_init); + purple_xfer_set_cancel_send_fnc(xfer, jabber_si_xfer_cancel_send); + purple_xfer_set_end_fnc(xfer, jabber_si_xfer_end); js->file_transfers = g_list_append(js->file_transfers, xfer); } @@ -1685,19 +1674,6 @@ } #endif -static PurpleXferIoOps recieve_ops = -{ - jabber_si_xfer_init, /* init */ - jabber_si_xfer_request_denied, /* request_denied */ - NULL, /* start */ - jabber_si_xfer_end, /* end */ - NULL, /* cancel_send */ - jabber_si_xfer_cancel_recv, /* cancel_recv */ - NULL, /* read */ - NULL, /* write */ - NULL, /* ack */ -}; - void jabber_si_parse(JabberStream *js, const char *from, JabberIqType type, const char *id, xmlnode *si) { @@ -1784,7 +1760,10 @@ if(filesize > 0) purple_xfer_set_size(xfer, filesize); - purple_xfer_set_io_ops(xfer, &recieve_ops); + purple_xfer_set_init_fnc(xfer, jabber_si_xfer_init); + purple_xfer_set_request_denied_fnc(xfer, jabber_si_xfer_request_denied); + purple_xfer_set_cancel_recv_fnc(xfer, jabber_si_xfer_cancel_recv); + purple_xfer_set_end_fnc(xfer, jabber_si_xfer_end); js->file_transfers = g_list_append(js->file_transfers, xfer);