# HG changeset patch # User Mark Doliner # Date 1196584771 0 # Node ID b3e4b81456b09bc5ce46715a10fd6a6fd390730d # Parent 5a0c058c10e6530a83cd9e440f3010f308045204 Get rid of one little userfunc callback and just call aim_im_setparams() directly from aim_im_paraminfo() diff -r 5a0c058c10e6 -r b3e4b81456b0 libpurple/protocols/oscar/family_icbm.c --- a/libpurple/protocols/oscar/family_icbm.c Sun Dec 02 07:37:40 2007 +0000 +++ b/libpurple/protocols/oscar/family_icbm.c Sun Dec 02 08:39:31 2007 +0000 @@ -209,7 +209,6 @@ */ static int aim_im_paraminfo(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs) { - aim_rxcallback_t userfunc; struct aim_icbmparameters params; params.maxchan = byte_stream_get16(bs); @@ -219,8 +218,11 @@ params.maxrecverwarn = byte_stream_get16(bs); params.minmsginterval = byte_stream_get32(bs); - if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) - return userfunc(od, conn, frame, ¶ms); + params.flags = 0x0000000b; + params.maxmsglen = 8000; + params.minmsginterval = 0; + + aim_im_setparams(od, ¶ms); return 0; } diff -r 5a0c058c10e6 -r b3e4b81456b0 libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c Sun Dec 02 07:37:40 2007 +0000 +++ b/libpurple/protocols/oscar/oscar.c Sun Dec 02 08:39:31 2007 +0000 @@ -176,7 +176,6 @@ static int purple_parse_locaterights(OscarData *, FlapConnection *, FlapFrame *, ...); static int purple_parse_buddyrights(OscarData *, FlapConnection *, FlapFrame *, ...); static int purple_parse_locerr (OscarData *, FlapConnection *, FlapFrame *, ...); -static int purple_icbm_param_info (OscarData *, FlapConnection *, FlapFrame *, ...); static int purple_parse_genericerr (OscarData *, FlapConnection *, FlapFrame *, ...); static int purple_memrequest (OscarData *, FlapConnection *, FlapFrame *, ...); static int purple_selfinfo (OscarData *, FlapConnection *, FlapFrame *, ...); @@ -1228,7 +1227,6 @@ oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_RECVAUTHREQ, purple_ssi_authrequest, 0); oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_RECVAUTHREP, purple_ssi_authreply, 0); oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_ADDED, purple_ssi_gotadded, 0); - oscar_data_addhandler(od, SNAC_FAMILY_ICBM, 0x0005, purple_icbm_param_info, 0); oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_INCOMING, purple_parse_incoming_im, 0); oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_MISSEDCALL, purple_parse_misses, 0); oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_CLIENTAUTORESP, purple_parse_clientauto, 0); @@ -3498,32 +3496,6 @@ return 1; } -static int purple_icbm_param_info(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { - struct aim_icbmparameters *params; - va_list ap; - - va_start(ap, fr); - params = va_arg(ap, struct aim_icbmparameters *); - va_end(ap); - - /* XXX - evidently this crashes on solaris. i have no clue why - purple_debug_misc("oscar", "ICBM Parameters: maxchannel = %hu, default flags = 0x%08lx, max msg len = %hu, " - "max sender evil = %f, max receiver evil = %f, min msg interval = %u\n", - params->maxchan, params->flags, params->maxmsglen, - ((float)params->maxsenderwarn)/10.0, ((float)params->maxrecverwarn)/10.0, - params->minmsginterval); - */ - - /* Maybe senderwarn and recverwarn should be user preferences... */ - params->flags = 0x0000000b; - params->maxmsglen = 8000; - params->minmsginterval = 0; - - aim_im_setparams(od, params); - - return 1; -} - static int purple_parse_locaterights(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { PurpleConnection *gc = od->gc;