diff options
Diffstat (limited to 'protocols/jabber/jabber.c')
-rw-r--r-- | protocols/jabber/jabber.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c index 4b5cb3a1..ccc13f47 100644 --- a/protocols/jabber/jabber.c +++ b/protocols/jabber/jabber.c @@ -317,6 +317,7 @@ static void jabber_logout( struct im_connection *ic ) g_free( jd->oauth2_access_token ); g_free( jd->away_message ); + g_free( jd->internal_jid ); g_free( jd->username ); g_free( jd->me ); g_free( jd ); @@ -620,6 +621,13 @@ void *jabber_buddy_action( struct bee_user *bu, const char *action, char * const return NULL; } +gboolean jabber_handle_is_self( struct im_connection *ic, const char *who ) { + struct jabber_data *jd = ic->proto_data; + return ( ( g_strcasecmp( who, ic->acc->user ) == 0 ) || + ( jd->internal_jid && + g_strcasecmp( who, jd->internal_jid ) == 0 ) ); +} + void jabber_initmodule() { struct prpl *ret = g_new0( struct prpl, 1 ); @@ -647,6 +655,7 @@ void jabber_initmodule() ret->keepalive = jabber_keepalive; ret->send_typing = jabber_send_typing; ret->handle_cmp = g_strcasecmp; + ret->handle_is_self = jabber_handle_is_self; ret->transfer_request = jabber_si_transfer_request; ret->buddy_action_list = jabber_buddy_action_list; ret->buddy_action = jabber_buddy_action; |