Mercurial > pidgin.yaz
comparison libpurple/protocols/oscar/family_icbm.c @ 27746:e13759a83714
propagate from branch 'im.pidgin.pidgin' (head cff05fbceab1d88163770d13a4c7a6116bdeb8ee)
to branch 'im.pidgin.pidgin.yaz' (head 4c2ca466febbc129edc2012fd6ce5769696116d0)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sat, 15 Dec 2007 05:15:31 +0000 |
parents | 26f55eb6ab59 d69d729ba19c |
children | 9a60b9fab0ea |
comparison
equal
deleted
inserted
replaced
27745:b9197011ddd6 | 27746:e13759a83714 |
---|---|
211 * Subtype 0x0005 - Receive parameter information. | 211 * Subtype 0x0005 - Receive parameter information. |
212 * | 212 * |
213 */ | 213 */ |
214 static int aim_im_paraminfo(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs) | 214 static int aim_im_paraminfo(OscarData *od, FlapConnection *conn, aim_module_t *mod, FlapFrame *frame, aim_modsnac_t *snac, ByteStream *bs) |
215 { | 215 { |
216 aim_rxcallback_t userfunc; | |
217 struct aim_icbmparameters params; | 216 struct aim_icbmparameters params; |
218 | 217 |
219 params.maxchan = byte_stream_get16(bs); | 218 params.maxchan = byte_stream_get16(bs); |
220 params.flags = byte_stream_get32(bs); | 219 params.flags = byte_stream_get32(bs); |
221 params.maxmsglen = byte_stream_get16(bs); | 220 params.maxmsglen = byte_stream_get16(bs); |
222 params.maxsenderwarn = byte_stream_get16(bs); | 221 params.maxsenderwarn = byte_stream_get16(bs); |
223 params.maxrecverwarn = byte_stream_get16(bs); | 222 params.maxrecverwarn = byte_stream_get16(bs); |
224 params.minmsginterval = byte_stream_get32(bs); | 223 params.minmsginterval = byte_stream_get32(bs); |
225 | 224 |
226 if ((userfunc = aim_callhandler(od, snac->family, snac->subtype))) | 225 params.flags = 0x0000000b; |
227 return userfunc(od, conn, frame, ¶ms); | 226 params.maxmsglen = 8000; |
227 params.minmsginterval = 0; | |
228 | |
229 aim_im_setparams(od, ¶ms); | |
228 | 230 |
229 return 0; | 231 return 0; |
230 } | 232 } |
231 | 233 |
232 /** | 234 /** |
290 return -EINVAL; | 292 return -EINVAL; |
291 } else { | 293 } else { |
292 if (!args->msg || (args->msglen <= 0)) | 294 if (!args->msg || (args->msglen <= 0)) |
293 return -EINVAL; | 295 return -EINVAL; |
294 | 296 |
295 if (args->msglen >= MAXMSGLEN) | 297 if (args->msglen > MAXMSGLEN) |
296 return -E2BIG; | 298 return -E2BIG; |
297 } | 299 } |
298 | 300 |
299 /* Painfully calculate the size of the message TLV */ | 301 /* Painfully calculate the size of the message TLV */ |
300 msgtlvlen = 1 + 1; /* 0501 */ | 302 msgtlvlen = 1 + 1; /* 0501 */ |