diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-11-13 13:01:40 +0000 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-11-13 13:01:40 +0000 | 
| commit | ed0589ce0af33a8e199b6bc75f55e45904c85d1c (patch) | |
| tree | ab1715fca6a3e01bcf0795fbcb3351d09adb03a5 /protocols/msn/ns.c | |
| parent | 70d779590840164e3bda1c183ade00872d9786c2 (diff) | |
Fixed issue with logging in to unverified MSN accounts.
Diffstat (limited to 'protocols/msn/ns.c')
| -rw-r--r-- | protocols/msn/ns.c | 17 | 
1 files changed, 14 insertions, 3 deletions
| diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c index dd9bff18..604e2f4e 100644 --- a/protocols/msn/ns.c +++ b/protocols/msn/ns.c @@ -277,6 +277,12 @@ static int msn_ns_command( struct msn_handler_data *handler, char **cmd, int num  		}  		else if( strcmp( cmd[2], "OK" ) == 0 )  		{ +			/* If the number after the handle is 0, the e-mail +			   address is unverified, which means we can't change +			   the display name. */ +			if( cmd[4][0] == '0' ) +				md->flags |= MSN_EMAIL_UNVERIFIED; +			  			imcb_log( ic, "Authenticated, getting buddy list" );  			msn_soap_memlist_request( ic );  		} @@ -869,7 +875,12 @@ int msn_ns_finish_login( struct im_connection *ic )  		md->flags |= MSN_DONE_ADL;  	if( ( md->flags & MSN_DONE_ADL ) && ( md->flags & MSN_GOT_PROFILE ) ) -		return msn_ns_set_display_name( ic, set_getstr( &ic->acc->set, "display_name" ) ); -	else -		return 1; +	{ +		if( md->flags & MSN_EMAIL_UNVERIFIED ) +			imcb_connected( ic ); +		else +			return msn_ns_set_display_name( ic, set_getstr( &ic->acc->set, "display_name" ) ); +	} +	 +	return 1;  } | 
