comparison libpurple/conversation.c @ 22815:f67edee0224e

When searching for a conversation, search only in the list of the specified type of conversation (i.e. IMs or Chats), when appropriate, instead of the list of all conversations.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sun, 04 May 2008 03:28:58 +0000
parents 1517d3c763fc
children 8c3444f04709 1dd0e007514d
comparison
equal deleted inserted replaced
22814:2d10cd28aa57 22815:f67edee0224e
811 const gchar *name2; 811 const gchar *name2;
812 GList *cnv; 812 GList *cnv;
813 813
814 g_return_val_if_fail(name != NULL, NULL); 814 g_return_val_if_fail(name != NULL, NULL);
815 815
816 switch (type) {
817 case PURPLE_CONV_TYPE_IM:
818 cnv = purple_get_ims();
819 break;
820 case PURPLE_CONV_TYPE_CHAT:
821 cnv = purple_get_chats();
822 break;
823 case PURPLE_CONV_TYPE_ANY:
824 cnv = purple_get_conversations();
825 break;
826 default:
827 g_return_val_if_reached(NULL);
828 }
829
816 name1 = g_strdup(purple_normalize(account, name)); 830 name1 = g_strdup(purple_normalize(account, name));
817 831
818 for (cnv = purple_get_conversations(); cnv != NULL; cnv = cnv->next) { 832 for (; cnv != NULL; cnv = cnv->next) {
819 c = (PurpleConversation *)cnv->data; 833 c = (PurpleConversation *)cnv->data;
820 name2 = purple_normalize(account, purple_conversation_get_name(c)); 834 name2 = purple_normalize(account, purple_conversation_get_name(c));
821 835
822 if (((type == PURPLE_CONV_TYPE_ANY) || (type == purple_conversation_get_type(c))) && 836 if ((account == purple_conversation_get_account(c)) &&
823 (account == purple_conversation_get_account(c)) &&
824 !purple_utf8_strcasecmp(name1, name2)) { 837 !purple_utf8_strcasecmp(name1, name2)) {
825 838
826 break; 839 break;
827 } 840 }
828 841