src/protocols/oscar/service.c

changeset 5837
e75d4061396e
parent 5836
88819e4cc840
child 5842
8c35097a15b5
--- a/src/protocols/oscar/service.c	Thu Jun 12 03:27:58 2003 +0000
+++ b/src/protocols/oscar/service.c	Thu Jun 12 04:20:08 2003 +0000
@@ -952,11 +952,13 @@
 	int ret = 0;
 	aim_rxcallback_t userfunc;
 	char *msg = NULL;
-	fu16_t id;
+	fu16_t type;
+	fu8_t number, length;
 
-	aimbs_get16(bs); /* 0x0002 */
-	aimbs_get16(bs); /* 0x0404 or 0x0407?  Maybe 0x04 and then a length? */
-	msg = aimbs_getstr(bs, aimbs_get16(bs));
+	type = aimbs_get16(bs); /* 0x0002 */
+	number = aimbs_get8(bs); /* 0x04 */
+	length = aimbs_get8(bs); /* the first length */
+	msg = aimbs_getstr(bs, aimbs_get16(bs)); /* the second length is just for the message */
 
 	if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
 		ret = userfunc(sess, rx, msg);

mercurial