diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2009-11-28 00:47:20 +0000 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2009-11-28 00:47:20 +0000 | 
| commit | 3e7b640db6ae2d77122d93dcf5f1a0989ef0b3f1 (patch) | |
| tree | f2ab8f9beb2da009488f2bca556032d9fec938f7 /protocols | |
| parent | 487f555c687571cee39d69b3954b4d1f82811d29 (diff) | |
Look up a buddy in the contact list on incoming msgs. This seems to be
the best way to "normalize" handles (i.e. chopping off the resource part
of JIDs).
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/purple/purple.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 6bb8fc99..f28e5cf0 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -379,9 +379,9 @@ static void prplcb_blist_update( PurpleBuddyList *list, PurpleBlistNode *node )  static void prplcb_blist_remove( PurpleBuddyList *list, PurpleBlistNode *node )  { +	/*  	PurpleBuddy *bud = (PurpleBuddy*) node; -	/*  	if( node->type == PURPLE_BLIST_BUDDY_NODE )  	{  		struct im_connection *ic = purple_ic_by_pa( bud->account ); @@ -406,10 +406,17 @@ static PurpleBlistUiOps bee_blist_uiops =  static void prplcb_conv_im( PurpleConversation *conv, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime )  {  	struct im_connection *ic = purple_ic_by_pa( conv->account ); +	PurpleBuddy *buddy;  	/* ..._SEND means it's an outgoing message, no need to echo those. */ -	if( !( flags & PURPLE_MESSAGE_SEND ) ) -		imcb_buddy_msg( ic, (char*) who, (char*) message, 0, mtime ); +	if( flags & PURPLE_MESSAGE_SEND ) +		return; +	 +	buddy = purple_find_buddy( conv->account, who ); +	if( buddy != NULL ) +		who = purple_buddy_get_contact_alias( buddy ); +	 +	imcb_buddy_msg( ic, (char*) who, (char*) message, 0, mtime );  }  static PurpleConversationUiOps bee_conv_uiops =  | 
