]> andersk Git - libfaim.git/blobdiff - src/login.c
- Thu Mar 29 13:05:50 PST 2001
[libfaim.git] / src / login.c
index 1fd031ab1c9ad2213c9d6f9fee1753f1a81b4de3..fef6db4fb99311ddb60631d4bde8328410700964 100644 (file)
@@ -715,14 +715,28 @@ static int memrequest(struct aim_session_t *sess, aim_module_t *mod, struct comm
 {
   rxcallback_t userfunc;
   unsigned long offset, len;
+  int i = 0;
+  struct aim_tlvlist_t *list;
+  char *modname = NULL;
 
   offset = aimutil_get32(data);
+  i += 4;
+
   len = aimutil_get32(data+4);
+  i += 4;
 
-  faimdprintf(sess, 1, "data at 0x%08lx (%d bytes) requested\n", offset, len);
+  list = aim_readtlvchain(data+i, datalen-i);
+
+  if (aim_gettlv(list, 0x0001, 1))
+    modname = aim_gettlv_str(list, 0x0001, 1);
+
+  faimdprintf(sess, 1, "data at 0x%08lx (%d bytes) of requested\n", offset, len, modname?modname:"aim.exe");
 
   if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
-    return userfunc(sess, rx, offset, len);
+    return userfunc(sess, rx, offset, len, modname);
+
+  free(modname);
+  aim_freetlvchain(&list);
 
   return 0;
 }
This page took 0.210098 seconds and 4 git commands to generate.