# HG changeset patch # User Mark Doliner # Date 1144641185 0 # Node ID 5796551db9307d270a6afa1034957c875441e263 # Parent 6c34fbb75bbd211e7aa797019cc31cd4b3a4eb48 [gaim-migrate @ 15995] Inline FlapConnection->inside and change some functions to return void instead of a meaningless int committer: Tailor Script diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_bos.c --- a/src/protocols/oscar/family_bos.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_bos.c Mon Apr 10 03:53:05 2006 +0000 @@ -29,9 +29,10 @@ #include /* Subtype 0x0002 - Request BOS rights. */ -int aim_bos_reqrights(OscarData *od, FlapConnection *conn) +void +aim_bos_reqrights(OscarData *od, FlapConnection *conn) { - return aim_genericreq_n_snacid(od, conn, 0x0009, 0x0002); + aim_genericreq_n_snacid(od, conn, 0x0009, 0x0002); } /* Subtype 0x0003 - BOS Rights. */ diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_buddy.c --- a/src/protocols/oscar/family_buddy.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_buddy.c Mon Apr 10 03:53:05 2006 +0000 @@ -33,10 +33,10 @@ * Request Buddy List rights. * */ -int +void aim_buddylist_reqrights(OscarData *od, FlapConnection *conn) { - return aim_genericreq_n_snacid(od, conn, 0x0003, 0x0002); + aim_genericreq_n_snacid(od, conn, 0x0003, 0x0002); } /* diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_chatnav.c --- a/src/protocols/oscar/family_chatnav.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_chatnav.c Mon Apr 10 03:53:05 2006 +0000 @@ -35,9 +35,9 @@ * conn must be a chatnav connection! * */ -int aim_chatnav_reqrights(OscarData *od, FlapConnection *conn) +void aim_chatnav_reqrights(OscarData *od, FlapConnection *conn) { - return aim_genericreq_n_snacid(od, conn, 0x000d, 0x0002); + aim_genericreq_n_snacid(od, conn, 0x000d, 0x0002); } /* diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_feedbag.c --- a/src/protocols/oscar/family_feedbag.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_feedbag.c Mon Apr 10 03:53:05 2006 +0000 @@ -1168,7 +1168,9 @@ if (!od || !(conn = flap_connection_findbygroup(od, SNAC_FAMILY_FEEDBAG))) return -EINVAL; - return aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQRIGHTS); + aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQRIGHTS); + + return 0; } /* @@ -1223,7 +1225,9 @@ /* Free any current data, just in case */ aim_ssi_freelist(od); - return aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQDATA); + aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_REQDATA); + + return 0; } /* diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_icbm.c --- a/src/protocols/oscar/family_icbm.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_icbm.c Mon Apr 10 03:53:05 2006 +0000 @@ -198,7 +198,9 @@ if (!od || !(conn = flap_connection_findbygroup(od, 0x0004))) return -EINVAL; - return aim_genericreq_n_snacid(od, conn, 0x0004, 0x0004); + aim_genericreq_n_snacid(od, conn, 0x0004, 0x0004); + + return 0; } /** diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_locate.c --- a/src/protocols/oscar/family_locate.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_locate.c Mon Apr 10 03:53:05 2006 +0000 @@ -998,7 +998,9 @@ if (!od || !(conn = flap_connection_findbygroup(od, SNAC_FAMILY_LOCATE))) return -EINVAL; - return aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_LOCATE, SNAC_SUBTYPE_LOCATE_REQRIGHTS); + aim_genericreq_n_snacid(od, conn, SNAC_FAMILY_LOCATE, SNAC_SUBTYPE_LOCATE_REQRIGHTS); + + return 0; } /* diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/family_oservice.c --- a/src/protocols/oscar/family_oservice.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/family_oservice.c Mon Apr 10 03:53:05 2006 +0000 @@ -28,17 +28,13 @@ #include "cipher.h" /* Subtype 0x0002 - Client Online */ -int +void aim_clientready(OscarData *od, FlapConnection *conn) { - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; struct snacgroup *sg; FlapFrame *frame; aim_snacid_t snacid; - if (!ins) - return -EINVAL; - frame = flap_frame_new(od, 0x02, 1152); snacid = aim_cachesnac(od, 0x0001, 0x0002, 0x0000, NULL, 0); @@ -48,7 +44,8 @@ * Send only the tool versions that the server cares about (that it * marked as supporting in the server ready SNAC). */ - for (sg = ins->groups; sg; sg = sg->next) { + for (sg = conn->groups; sg; sg = sg->next) + { aim_module_t *mod; if ((mod = aim__findmodulebygroup(od, sg->group))) { @@ -61,8 +58,6 @@ } flap_connection_send(conn, frame); - - return 0; } /* @@ -215,10 +210,10 @@ } /* Subtype 0x0006 - Request Rate Information. */ -int +void aim_reqrates(OscarData *od, FlapConnection *conn) { - return aim_genericreq_n_snacid(od, conn, 0x0001, 0x0006); + aim_genericreq_n_snacid(od, conn, 0x0001, 0x0006); } /* @@ -326,11 +321,9 @@ static int rateresp(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs) { - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; guint16 numclasses, i; aim_rxcallback_t userfunc; - /* * First are the parameters for each rate class. */ @@ -359,7 +352,7 @@ if (mod->version >= 3) byte_stream_getrawbuf(bs, rc.unknown, sizeof(rc.unknown)); - rc_addclass(&ins->rates, &rc); + rc_addclass(&conn->rates, &rc); } /* @@ -373,7 +366,7 @@ classid = byte_stream_get16(bs); count = byte_stream_get16(bs); - rc = rc_findclass(&ins->rates, classid); + rc = rc_findclass(&conn->rates, classid); for (j = 0; j < count; j++) { guint16 group, subtype; @@ -404,15 +397,13 @@ if ((userfunc = aim_callhandler(od, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE))) userfunc(od, conn, frame); - return 1; } /* Subtype 0x0008 - Add Rate Parameter */ -int +void aim_rates_addparam(OscarData *od, FlapConnection *conn) { - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; FlapFrame *frame; aim_snacid_t snacid; struct rateclass *rc; @@ -422,19 +413,16 @@ snacid = aim_cachesnac(od, 0x0001, 0x0008, 0x0000, NULL, 0); aim_putsnac(&frame->data, 0x0001, 0x0008, 0x0000, snacid); - for (rc = ins->rates; rc; rc = rc->next) + for (rc = conn->rates; rc; rc = rc->next) byte_stream_put16(&frame->data, rc->classid); flap_connection_send(conn, frame); - - return 0; } /* Subtype 0x0009 - Delete Rate Parameter */ -int +void aim_rates_delparam(OscarData *od, FlapConnection *conn) { - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; FlapFrame *frame; aim_snacid_t snacid; struct rateclass *rc; @@ -444,12 +432,10 @@ snacid = aim_cachesnac(od, 0x0001, 0x0009, 0x0000, NULL, 0); aim_putsnac(&frame->data, 0x0001, 0x0009, 0x0000, snacid); - for (rc = ins->rates; rc; rc = rc->next) + for (rc = conn->rates; rc; rc = rc->next) byte_stream_put16(&frame->data, rc->classid); flap_connection_send(conn, frame); - - return 0; } /* Subtype 0x000a - Rate Change */ @@ -515,12 +501,11 @@ * libfaim can cause. * */ -int +void aim_sendpauseack(OscarData *od, FlapConnection *conn) { FlapFrame *frame; aim_snacid_t snacid; - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; struct snacgroup *sg; frame = flap_frame_new(od, 0x02, 1024); @@ -533,12 +518,10 @@ * Host Online / Server Ready said this host supports. And * we want them all back after the migration. */ - for (sg = ins->groups; sg; sg = sg->next) + for (sg = conn->groups; sg; sg = sg->next) byte_stream_put16(&frame->data, sg->group); flap_connection_send(conn, frame); - - return 0; } /* Subtype 0x000d - Service Resume */ @@ -555,10 +538,10 @@ } /* Subtype 0x000e - Request self-info */ -int +void aim_reqpersonalinfo(OscarData *od, FlapConnection *conn) { - return aim_genericreq_n_snacid(od, conn, 0x0001, 0x000e); + aim_genericreq_n_snacid(od, conn, 0x0001, 0x000e); } /* Subtype 0x000f - Self User Info */ @@ -760,17 +743,13 @@ * the rate information based on what version of group 1 we advertise here. * */ -int +void aim_setversions(OscarData *od, FlapConnection *conn) { - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; struct snacgroup *sg; FlapFrame *frame; aim_snacid_t snacid; - if (!ins) - return -EINVAL; - frame = flap_frame_new(od, 0x02, 1152); snacid = aim_cachesnac(od, 0x0001, 0x0017, 0x0000, NULL, 0); @@ -780,7 +759,7 @@ * Send only the versions that the server cares about (that it * marked as supporting in the server ready SNAC). */ - for (sg = ins->groups; sg; sg = sg->next) { + for (sg = conn->groups; sg; sg = sg->next) { aim_module_t *mod; if ((mod = aim__findmodulebygroup(od, sg->group))) { @@ -791,8 +770,6 @@ } flap_connection_send(conn, frame); - - return 0; } /* Subtype 0x0018 - Host versions */ diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/flap_connection.c --- a/src/protocols/oscar/flap_connection.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/flap_connection.c Mon Apr 10 03:53:05 2006 +0000 @@ -119,7 +119,6 @@ conn = g_new0(FlapConnection, 1); conn->od = od; conn->buffer_outgoing = gaim_circ_buffer_new(0); - conn->inside = g_new0(aim_conn_inside_t, 1); conn->fd = -1; conn->subtype = -1; conn->type = type; @@ -152,16 +151,7 @@ conn->internal = src->internal; conn->lastactivity = src->lastactivity; - if (src->inside != NULL) - { - /* - * XXX should clone this section as well, but since currently - * this function only gets called for some of that rendezvous - * crap, and not on SNAC connections, its probably okay for - * now. - * - */ - } + /* TODO: Clone groups and rates */ return conn; } @@ -253,15 +243,8 @@ if (conn->type == SNAC_FAMILY_CHAT) flap_connection_destroy_chat(od, conn); - if (conn->inside != NULL) - { - aim_conn_inside_t *inside = (aim_conn_inside_t *)conn->inside; - - flap_connection_destroy_snacgroups(inside->groups); - flap_connection_destroy_rates(inside->rates); - - free(inside); - } + flap_connection_destroy_snacgroups(conn->groups); + flap_connection_destroy_rates(conn->rates); od->oscar_connections = g_list_remove(od->oscar_connections, conn); g_free(conn); @@ -375,7 +358,6 @@ void flap_connection_addgroup(FlapConnection *conn, guint16 group) { - aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; struct snacgroup *sg; sg = g_new0(struct snacgroup, 1); @@ -384,8 +366,8 @@ "of type 0x%04hx\n", group, conn->type); sg->group = group; - sg->next = ins->groups; - ins->groups = sg; + sg->next = conn->groups; + conn->groups = sg; } /** @@ -402,13 +384,11 @@ for (cur = od->oscar_connections; cur != NULL; cur = cur->next) { FlapConnection *conn; - aim_conn_inside_t *ins; struct snacgroup *sg; conn = cur->data; - ins = (aim_conn_inside_t *)conn->inside; - for (sg = ins->groups; sg != NULL; sg = sg->next) + for (sg = conn->groups; sg != NULL; sg = sg->next) { if (sg->group == group) return conn; diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/misc.c --- a/src/protocols/oscar/misc.c Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/misc.c Mon Apr 10 03:53:05 2006 +0000 @@ -19,11 +19,8 @@ */ /* - * misc.c - * * Random stuff. Basically just a few functions for sending * simple SNACs, and then the generic error handler. - * */ #include "oscar.h" @@ -54,7 +51,7 @@ return 0; } -int +void aim_genericreq_n_snacid(OscarData *od, FlapConnection *conn, guint16 family, guint16 subtype) { FlapFrame *frame; @@ -66,8 +63,6 @@ aim_putsnac(&frame->data, family, subtype, 0x0000, snacid); flap_connection_send(conn, frame); - - return 0; } int diff -r 6c34fbb75bbd -r 5796551db930 src/protocols/oscar/oscar.h --- a/src/protocols/oscar/oscar.h Mon Apr 10 03:37:37 2006 +0000 +++ b/src/protocols/oscar/oscar.h Mon Apr 10 03:53:05 2006 +0000 @@ -376,8 +376,10 @@ guint16 subtype; flap_seqnum_t seqnum; guint32 status; + struct snacgroup *groups; + struct rateclass *rates; + void *internal; /* internal conn-specific libfaim data */ - void *inside; /* only accessible from inside libfaim */ }; struct _IcbmCookie @@ -549,7 +551,7 @@ } chat; }; -int aim_clientready(OscarData *od, FlapConnection *conn); +void aim_clientready(OscarData *od, FlapConnection *conn); int aim_request_login(OscarData *od, FlapConnection *conn, const char *sn); int aim_send_login(OscarData *, FlapConnection *, const char *, const char *, ClientInfo *, const char *key); /* 0x000b */ int aim_auth_securid_send(OscarData *od, const char *securid); @@ -596,14 +598,13 @@ #define AIM_WARN_ANON 0x01 -int aim_sendpauseack(OscarData *od, FlapConnection *conn); int aim_nop(OscarData *, FlapConnection *); int aim_bos_changevisibility(OscarData *, FlapConnection *, int, const char *); int aim_bos_setgroupperm(OscarData *, FlapConnection *, guint32 mask); int aim_bos_setprivacyflags(OscarData *, FlapConnection *, guint32); -int aim_reqpersonalinfo(OscarData *, FlapConnection *); +void aim_reqpersonalinfo(OscarData *, FlapConnection *); int aim_reqservice(OscarData *, guint16); -int aim_bos_reqrights(OscarData *, FlapConnection *); +void aim_bos_reqrights(OscarData *, FlapConnection *); int aim_setextstatus(OscarData *od, guint32 status); #define AIM_CLIENTTYPE_UNKNOWN 0x0000 @@ -1008,7 +1009,7 @@ /* 0x0003 - family_buddy.c */ -/* 0x0002 */ int aim_buddylist_reqrights(OscarData *, FlapConnection *); +/* 0x0002 */ void aim_buddylist_reqrights(OscarData *, FlapConnection *); /* 0x0004 */ int aim_buddylist_set(OscarData *, FlapConnection *, const char *); /* 0x0004 */ int aim_buddylist_addbuddy(OscarData *, FlapConnection *, const char *); /* 0x0005 */ int aim_buddylist_removebuddy(OscarData *, FlapConnection *, const char *); @@ -1047,7 +1048,7 @@ char *aim_chat_getname(FlapConnection *conn); FlapConnection *aim_chat_getconn(OscarData *, const char *name); -int aim_chatnav_reqrights(OscarData *od, FlapConnection *conn); +void aim_chatnav_reqrights(OscarData *od, FlapConnection *conn); int aim_chatnav_createroom(OscarData *od, FlapConnection *conn, const char *name, guint16 exchange); int aim_chat_leaveroom(OscarData *od, const char *name); @@ -1459,7 +1460,7 @@ int email_modfirst(OscarData *od, aim_module_t *mod); int aim_genericreq_n(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype); -int aim_genericreq_n_snacid(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype); +void aim_genericreq_n_snacid(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype); int aim_genericreq_l(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype, guint32 *); int aim_genericreq_s(OscarData *, FlapConnection *conn, guint16 family, guint16 subtype, guint16 *); @@ -1548,18 +1549,6 @@ struct rateclass *next; }; -/* - * This is inside every connection. But it is a void * to anything - * outside of libfaim. It should remain that way. It's called data - * abstraction. Maybe you've heard of it. (Probably not if you're a - * libfaim user.) - * - */ -typedef struct aim_conn_inside_s { - struct snacgroup *groups; - struct rateclass *rates; -} aim_conn_inside_t; - int aim_cachecookie(OscarData *od, IcbmCookie *cookie); IcbmCookie *aim_uncachecookie(OscarData *od, guint8 *cookie, int type); IcbmCookie *aim_mkcookie(guint8 *, int, void *); @@ -1573,10 +1562,11 @@ void flap_connection_destroy_chat(OscarData *od, FlapConnection *conn); /* These are all handled internally now. */ -int aim_setversions(OscarData *od, FlapConnection *conn); -int aim_reqrates(OscarData *, FlapConnection *); -int aim_rates_addparam(OscarData *, FlapConnection *); -int aim_rates_delparam(OscarData *, FlapConnection *); +void aim_setversions(OscarData *od, FlapConnection *conn); +void aim_reqrates(OscarData *, FlapConnection *); +void aim_rates_addparam(OscarData *, FlapConnection *); +void aim_rates_delparam(OscarData *, FlapConnection *); +void aim_sendpauseack(OscarData *od, FlapConnection *conn);