diff options
-rw-r--r-- | protocols/oscar/chatnav.c | 5 | ||||
-rw-r--r-- | protocols/oscar/oscar.c | 6 | ||||
-rw-r--r-- | protocols/oscar/service.c | 4 |
3 files changed, 8 insertions, 7 deletions
diff --git a/protocols/oscar/chatnav.c b/protocols/oscar/chatnav.c index e2de2ff3..1aefd6e7 100644 --- a/protocols/oscar/chatnav.c +++ b/protocols/oscar/chatnav.c @@ -199,8 +199,9 @@ static int parseinfo_perms(aim_session_t *sess, aim_module_t *mod, aim_frame_t * * 2 Exchange creation allowed * */ - if (aim_gettlv(innerlist, 0x00d5, 1)) - ; + if (aim_gettlv(innerlist, 0x00d5, 1)) { + aim_gettlv8(innerlist, 0x00d5, 1); /* createperms */ + } /* * Type 0x00d6: Character Set (First Time) diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c index 41a194ab..de4efb6a 100644 --- a/protocols/oscar/oscar.c +++ b/protocols/oscar/oscar.c @@ -2551,6 +2551,7 @@ struct groupchat *oscar_chat_join(struct im_connection *ic, const char *room, struct groupchat *oscar_chat_with(struct im_connection * ic, char *who) { struct oscar_data * od = (struct oscar_data *)ic->proto_data; + struct groupchat *ret; static int chat_id = 0; char * chatname, *s; @@ -2561,13 +2562,12 @@ struct groupchat *oscar_chat_with(struct im_connection * ic, char *who) if (!isalnum(*s)) *s = '0'; - imcb_chat_new(ic, chatname); - oscar_chat_join_internal(ic, chatname, NULL, NULL, 4); + ret = oscar_chat_join_internal(ic, chatname, NULL, NULL, 4); aim_chat_invite(od->sess, od->conn, who, "", 4, chatname, 0x0); g_free(chatname); - return NULL; + return ret; } void oscar_accept_chat(void *data) diff --git a/protocols/oscar/service.c b/protocols/oscar/service.c index d4f516c0..a2678764 100644 --- a/protocols/oscar/service.c +++ b/protocols/oscar/service.c @@ -701,7 +701,7 @@ static int hostversions(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, guint8 *versions; /* This is frivolous. (Thank you SmarterChild.) */ - aim_bstream_empty(bs); + aim_bstream_empty(bs); /* == vercount * 4 */ versions = aimbs_getraw(bs, aim_bstream_empty(bs)); g_free(versions); @@ -734,7 +734,7 @@ int aim_setextstatus(aim_session_t *sess, aim_conn_t *conn, guint32 status) if (ic && set_getbool(&ic->acc->set, "web_aware")) data |= AIM_ICQ_STATE_WEBAWARE; - aim_addtlvtochain32(&tl, 0x0006, data); + aim_addtlvtochain32(&tl, 0x0006, data); /* tlvlen */ if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 8))) return -ENOMEM; |