if (detaillevel != 0x02) {
if (detaillevel == 0x01)
- printf("faim: chat_roomupdateinfo: detail level 2 not supported\n");
+ printf("faim: chat_roomupdateinfo: detail level 1 not supported\n");
else
printf("faim: chat_roomupdateinfo: unknown detail level %d\n", detaillevel);
return 1;
struct aim_userinfo_s userinfo;
rxcallback_t userfunc=NULL;
int ret = 1, i = 0, z = 0;
- u_char cookie[8];
+ unsigned char cookie[8];
int channel;
struct aim_tlvlist_t *outerlist;
char *msg = NULL;
+ struct aim_msgcookie_t *ck;
memset(&userinfo, 0x00, sizeof(struct aim_userinfo_s));
for (z=0; z<8; z++,i++)
cookie[z] = command->data[i];
- aim_cachecookie(sess, aim_mkcookie(cookie, AIM_COOKIETYPE_ICBM, NULL));
+ if ((ck = aim_uncachecookie(sess, cookie, AIM_COOKIETYPE_CHAT))) {
+ if (ck->data)
+ free(ck->data);
+ free(ck);
+ }
/*
* Channel ID
*/
for (i=0;i<8;i++)
curbyte += aimutil_put8(newpacket->data+curbyte, (u_char)rand());
+
+ /* XXX this should get uncached by the unwritten 'invite accept' handler */
aim_cachecookie(sess, aim_mkcookie(newpacket->data+curbyte-8, AIM_COOKIETYPE_CHAT, NULL));
/*