Changeset 64bed24 for protocols/skype/skype.c
- Timestamp:
- 2015-10-13T05:05:22Z (9 years ago)
- Branches:
- master
- Children:
- 0b1ae59
- Parents:
- fdc6d84
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/skype/skype.c
rfdc6d84 r64bed24 323 323 } 324 324 325 static struct groupchat *skype_chat_get_or_create(struct im_connection *ic, char *id) 326 { 327 struct skype_data *sd = ic->proto_data; 328 struct groupchat *gc = bee_chat_by_title(ic->bee, ic, id); 329 330 if (!gc) { 331 gc = imcb_chat_new(ic, id); 332 imcb_chat_name_hint(gc, id); 333 imcb_chat_add_buddy(gc, sd->username); 334 335 skype_printf(ic, "GET CHAT %s ADDER\n", id); 336 skype_printf(ic, "GET CHAT %s TOPIC\n", id); 337 skype_printf(ic, "GET CHAT %s ACTIVEMEMBERS\n", id); 338 } 339 340 return gc; 341 } 342 325 343 static void skype_parse_users(struct im_connection *ic, char *line) 326 344 { … … 687 705 info += 9; 688 706 if (sd->handle && sd->body && sd->type) { 689 struct groupchat *gc = bee_chat_by_title(ic->bee,ic, info);707 struct groupchat *gc = skype_chat_get_or_create(ic, info); 690 708 int i; 691 709 for (i = 0; i < g_list_length(sd->body); i++) { … … 1025 1043 } 1026 1044 if (!strcmp(info, "STATUS MULTI_SUBSCRIBED")) { 1027 gc = bee_chat_by_title(ic->bee, ic, id); 1028 if (!gc) { 1029 gc = imcb_chat_new(ic, id); 1030 imcb_chat_name_hint(gc, id); 1031 } 1032 skype_printf(ic, "GET CHAT %s ADDER\n", id); 1033 skype_printf(ic, "GET CHAT %s TOPIC\n", id); 1045 skype_chat_get_or_create(ic, id); 1034 1046 } else if (!strcmp(info, "STATUS DIALOG") && sd->groupchat_with) { 1035 gc = imcb_chat_new(ic, id); 1036 imcb_chat_name_hint(gc, id); 1047 gc = skype_chat_get_or_create(ic, id); 1037 1048 /* According to the docs this 1038 1049 * is necessary. However it … … 1045 1056 sd->groupchat_with); 1046 1057 imcb_chat_add_buddy(gc, buf); 1047 imcb_chat_add_buddy(gc, sd->username);1048 1058 g_free(sd->groupchat_with); 1049 1059 sd->groupchat_with = NULL; 1050 skype_printf(ic, "GET CHAT %s ADDER\n", id);1051 skype_printf(ic, "GET CHAT %s TOPIC\n", id);1052 1060 } else if (!strcmp(info, "STATUS UNSUBSCRIBED")) { 1053 1061 gc = bee_chat_by_title(ic->bee, ic, id);
Note: See TracChangeset
for help on using the changeset viewer.