# HG changeset patch # User John Bailey # Date 1243137327 0 # Node ID 516c4a8b7658ac870e652bc3b393d0246faa0d58 # Parent 3fd5f2bccd68bb5c9a13f241a9fd15bf1faa0e88# Parent 7957a5ed53bbde4109fcf79877ae30c82d3afcdd merge of '074c5aedf9bbc512331f0d3130f076190b290676' and '97fbf033d9afea69a6eabaac94698b3c051584cf' diff -r 3fd5f2bccd68 -r 516c4a8b7658 libpurple/protocols/jabber/jutil.c --- a/libpurple/protocols/jabber/jutil.c Sat May 23 10:44:39 2009 +0000 +++ b/libpurple/protocols/jabber/jutil.c Sun May 24 03:55:27 2009 +0000 @@ -223,6 +223,50 @@ return buf; } +gboolean +jabber_is_own_server(JabberStream *js, const char *str) +{ + JabberID *jid; + gboolean equal; + + if (str == NULL) + return FALSE; + + g_return_val_if_fail(*str != '\0', FALSE); + + jid = jabber_id_new(str); + if (!jid) + return FALSE; + + equal = (jid->node == NULL && + g_str_equal(jid->domain, js->user->domain) && + jid->resource == NULL); + jabber_id_free(jid); + return equal; +} + +gboolean +jabber_is_own_account(JabberStream *js, const char *str) +{ + JabberID *jid; + gboolean equal; + + if (str == NULL) + return TRUE; + + g_return_val_if_fail(*str != '\0', FALSE); + + jid = jabber_id_new(str); + if (!jid) + return FALSE; + + equal = (g_str_equal(jid->node, js->user->node) && + g_str_equal(jid->domain, js->user->domain) && + jid->resource == NULL); + jabber_id_free(jid); + return equal; +} + PurpleConversation * jabber_find_unnormalized_conv(const char *name, PurpleAccount *account) { diff -r 3fd5f2bccd68 -r 516c4a8b7658 libpurple/protocols/jabber/jutil.h --- a/libpurple/protocols/jabber/jutil.h Sat May 23 10:44:39 2009 +0000 +++ b/libpurple/protocols/jabber/jutil.h Sun May 24 03:55:27 2009 +0000 @@ -36,6 +36,12 @@ const char *jabber_normalize(const PurpleAccount *account, const char *in); +/* Returns true if JID is the bare JID of our server. */ +gboolean jabber_is_own_server(JabberStream *js, const char *jid); + +/* Returns true if JID is the bare JID of our account. */ +gboolean jabber_is_own_account(JabberStream *js, const char *jid); + gboolean jabber_nodeprep_validate(const char *); gboolean jabber_nameprep_validate(const char *); gboolean jabber_resourceprep_validate(const char *); diff -r 3fd5f2bccd68 -r 516c4a8b7658 libpurple/protocols/oscar/oscar.c --- a/libpurple/protocols/oscar/oscar.c Sat May 23 10:44:39 2009 +0000 +++ b/libpurple/protocols/oscar/oscar.c Sun May 24 03:55:27 2009 +0000 @@ -3566,7 +3566,8 @@ alerturl = va_arg(ap, char *); va_end(ap); - if (account != NULL && emailinfo != NULL && emailinfo->unread && havenewmail) { + if (account != NULL && emailinfo != NULL && purple_account_get_check_mail(account) && + emailinfo->unread && havenewmail) { gchar *to = g_strdup_printf("%s%s%s", purple_account_get_username(account), emailinfo->domain ? "@" : "",