diff libfaim/aim_rxhandlers.c @ 1288:d8eaf65ca9c3

[gaim-migrate @ 1298] libfaim changes, clean up warn dialog committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 15 Dec 2000 13:04:55 +0000
parents 385c1a1d96aa
children 4c5c2fcb83cd
line wrap: on
line diff
--- a/libfaim/aim_rxhandlers.c	Fri Dec 15 02:31:36 2000 +0000
+++ b/libfaim/aim_rxhandlers.c	Fri Dec 15 13:04:55 2000 +0000
@@ -574,6 +574,8 @@
 	    workingPtr->handled = aim_parse_hostonline(sess, workingPtr);
 	  else if (subtype == 0x0007)
 	    workingPtr->handled = aim_callhandler_noparam(sess, workingPtr->conn, 0x0001, 0x0007, workingPtr);
+	  else if (subtype == 0x000a)
+	    workingPtr->handled = aim_parse_ratechange_middle(sess, workingPtr);
 	  else
 	    workingPtr->handled = aim_callhandler_noparam(sess, workingPtr->conn, family, subtype, workingPtr);
 	} else if (family == 0x000e) {
@@ -657,17 +659,36 @@
 {
   rxcallback_t userfunc = NULL;
   int ret = 1;
-  unsigned long newrate;
+  int i;
+  int code;
+  unsigned long parmid, windowsize, clear, alert, limit, disconnect;
+  unsigned long currentavg, maxavg;
+
+  i = 10;
+
+  code = aimutil_get16(command->data+i);
+  i += 2;
+
+  parmid = aimutil_get16(command->data+i);
+  i += 2;
 
-  if (command->commandlen != 0x2f) {
-    printf("faim: unknown rate change length 0x%04x\n", command->commandlen);
-    return 1;
-  }
-  
-  newrate = aimutil_get32(command->data+34);
+  windowsize = aimutil_get32(command->data+i);
+  i += 4;
+  clear = aimutil_get32(command->data+i);
+  i += 4;
+  alert = aimutil_get32(command->data+i);
+  i += 4;
+  limit = aimutil_get32(command->data+i);
+  i += 4;
+  disconnect = aimutil_get32(command->data+i);
+  i += 4;
+  currentavg = aimutil_get32(command->data+i);
+  i += 4;
+  maxavg = aimutil_get32(command->data+i);
+  i += 4;
 
   if ((userfunc = aim_callhandler(command->conn, 0x0001, 0x000a)))
-    ret =  userfunc(sess, command, newrate);
+    ret =  userfunc(sess, command, code, parmid, windowsize, clear, alert, limit, disconnect, currentavg, maxavg);
 
   return ret;
 }