comparison libpurple/protocols/irc/msgs.c @ 22822:f09acca60066

Patch from sadrul to fix IRC servers which neglect to send RPL_LISTSTART (321) before sending their channel list with RPL_LIST (322). Fixes #2225
author Ethan Blanton <elb@pidgin.im>
date Mon, 05 May 2008 14:56:36 +0000
parents 1fbc49b46e09
children f1dfc0d70d19
comparison
equal deleted inserted replaced
22821:61e0bcbf31ab 22822:f09acca60066
419 PurpleRoomlistRoom *room; 419 PurpleRoomlistRoom *room;
420 char *topic; 420 char *topic;
421 421
422 if (!args[0] || !args[1] || !args[2] || !args[3]) 422 if (!args[0] || !args[1] || !args[2] || !args[3])
423 return; 423 return;
424
425 if (!purple_roomlist_get_in_progress(irc->roomlist)) {
426 purple_debug_warning("irc", "Buggy server didn't send RPL_LISTSTART.\n");
427 purple_roomlist_set_in_progress(irc->roomlist, TRUE);
428 }
424 429
425 room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, args[1], NULL); 430 room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, args[1], NULL);
426 purple_roomlist_room_add_field(irc->roomlist, room, args[1]); 431 purple_roomlist_room_add_field(irc->roomlist, room, args[1]);
427 purple_roomlist_room_add_field(irc->roomlist, room, GINT_TO_POINTER(strtol(args[2], NULL, 10))); 432 purple_roomlist_room_add_field(irc->roomlist, room, GINT_TO_POINTER(strtol(args[2], NULL, 10)));
428 topic = irc_mirc2txt(args[3]); 433 topic = irc_mirc2txt(args[3]);