comparison src/protocols/yahoo/yahoochat.c @ 9329:d42f3e4fd7ad

[gaim-migrate @ 10137] We were ignoring an extra packet the server is sending now on joining a room, which has extra members in it. This makes us process it. We do so one at a time though, so it prints a has joined message for them, which sucks but oh well. This also fixes a "bug" where we were getting confused and thinking keys were values and values were keys. But the reason we were getting confused is pretty weird. I think the server was intentionally trying to confuse us this way, to hide extra data from older clients. committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Sun, 20 Jun 2004 19:18:42 +0000
parents 9171e528d7e5
children 3aa848ccf986
comparison
equal deleted inserted replaced
9328:33e6b2b92cfe 9329:d42f3e4fd7ad
396 case 113: /* bitmask */ 396 case 113: /* bitmask */
397 break; 397 break;
398 } 398 }
399 } 399 }
400 400
401 if (!room) 401
402 return; 402 if (room && yd->chat_name && gaim_utf8_strcasecmp(room, yd->chat_name))
403
404 if (yd->chat_name && gaim_utf8_strcasecmp(room, yd->chat_name))
405 yahoo_chat_leave(gc, room, 403 yahoo_chat_leave(gc, room,
406 gaim_connection_get_display_name(gc), FALSE); 404 gaim_connection_get_display_name(gc), FALSE);
407 405
408 c = gaim_find_chat(gc, YAHOO_CHAT_ID); 406 c = gaim_find_chat(gc, YAHOO_CHAT_ID);
409 407
410 if ((!c || gaim_conv_chat_has_left(GAIM_CONV_CHAT(c))) && members && 408 if (room && (!c || gaim_conv_chat_has_left(GAIM_CONV_CHAT(c))) && members &&
411 ((g_list_length(members) > 1) || 409 ((g_list_length(members) > 1) ||
412 !g_ascii_strcasecmp(members->data, gaim_connection_get_display_name(gc)))) { 410 !g_ascii_strcasecmp(members->data, gaim_connection_get_display_name(gc)))) {
413 if (c && gaim_conv_chat_has_left(GAIM_CONV_CHAT(c))) { 411 if (c && gaim_conv_chat_has_left(GAIM_CONV_CHAT(c))) {
414 /* this might be a hack, but oh well, it should nicely */ 412 /* this might be a hack, but oh well, it should nicely */
415 char *tmpmsg; 413 char *tmpmsg;