Mercurial > pidgin
comparison src/protocols/jabber/message.c @ 7261:1930e3d00ecd
[gaim-migrate @ 7838]
prpl-specific normalize is back, after my crusade to kill it.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Tue, 14 Oct 2003 05:07:39 +0000 |
parents | d1974612b994 |
children | 7c12dab8e513 |
comparison
equal
deleted
inserted
replaced
7260:49839c4cbb1c | 7261:1930e3d00ecd |
---|---|
50 g_list_free(jm->etc); | 50 g_list_free(jm->etc); |
51 | 51 |
52 g_free(jm); | 52 g_free(jm); |
53 } | 53 } |
54 | 54 |
55 static GaimConversation * | |
56 find_unnormalized_conv(const char *name, GaimAccount *account) | |
57 { | |
58 GaimConversation *c = NULL; | |
59 GList *cnv; | |
60 | |
61 g_return_val_if_fail(name != NULL, NULL); | |
62 | |
63 for(cnv = gaim_get_conversations(); cnv; cnv = cnv->next) { | |
64 c = (GaimConversation*)cnv->data; | |
65 if(!gaim_utf8_strcasecmp(name, gaim_conversation_get_name(c)) && | |
66 account == gaim_conversation_get_account(c)) | |
67 return c; | |
68 } | |
69 | |
70 return NULL; | |
71 } | |
72 | |
55 static void handle_chat(JabberMessage *jm) | 73 static void handle_chat(JabberMessage *jm) |
56 { | 74 { |
57 JabberID *jid = jabber_id_new(jm->from); | 75 JabberID *jid = jabber_id_new(jm->from); |
58 char *from; | 76 char *from; |
59 | 77 |
61 JabberBuddyResource *jbr; | 79 JabberBuddyResource *jbr; |
62 | 80 |
63 jb = jabber_buddy_find(jm->js, jm->from, TRUE); | 81 jb = jabber_buddy_find(jm->js, jm->from, TRUE); |
64 jbr = jabber_buddy_find_resource(jb, jabber_get_resource(jm->from)); | 82 jbr = jabber_buddy_find_resource(jb, jabber_get_resource(jm->from)); |
65 | 83 |
66 if(gaim_find_conversation_with_account(jm->from, jm->js->gc->account)) { | 84 if(find_unnormalized_conv(jm->from, jm->js->gc->account)) { |
67 from = g_strdup(jm->from); | 85 from = g_strdup(jm->from); |
68 } else if(jid->node) { | 86 } else if(jid->node) { |
69 GaimConversation *conv; | 87 GaimConversation *conv; |
70 | 88 |
71 from = g_strdup_printf("%s@%s", jid->node, jid->domain); | 89 from = g_strdup_printf("%s@%s", jid->node, jid->domain); |
72 conv = gaim_find_conversation_with_account(from, jm->js->gc->account); | 90 conv = find_unnormalized_conv(from, jm->js->gc->account); |
73 if(conv) | 91 if(conv) |
74 gaim_conversation_set_name(conv, jm->from); | 92 gaim_conversation_set_name(conv, jm->from); |
75 g_free(from); | 93 g_free(from); |
76 from = g_strdup(jm->from); | 94 from = g_strdup(jm->from); |
77 } else { | 95 } else { |