diff options
Diffstat (limited to 'protocols/msn/ns.c')
| -rw-r--r-- | protocols/msn/ns.c | 20 | 
1 files changed, 6 insertions, 14 deletions
| diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c index 2449c8d5..c9b01ef2 100644 --- a/protocols/msn/ns.c +++ b/protocols/msn/ns.c @@ -258,6 +258,9 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )  	else if( strcmp( cmd[0], "BLP" ) == 0 )  	{  		msn_ns_send_adl_start( ic ); +		 +		if( md->adl_todo < 0 && !( ic->flags & OPT_LOGGED_IN ) ) +			return msn_ns_set_display_name( ic, set_getstr( &ic->acc->set, "display_name" ) );  	}  	else if( strcmp( cmd[0], "ADL" ) == 0 )  	{ @@ -267,21 +270,10 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )  			if( md->adl_todo < 0 && !( ic->flags & OPT_LOGGED_IN ) )  			{ -				char buf[1024]; -				char *fn_raw; -				char *fn; -				 -				if( ( fn_raw = set_getstr( &ic->acc->set, "display_name" ) ) == NULL ) -					fn_raw = ic->acc->user; -				fn = g_malloc( strlen( fn_raw ) * 3 + 1 ); -				strcpy( fn, fn_raw ); -				http_encode( fn ); -				 -				g_snprintf( buf, sizeof( buf ), "PRP %d MFN %s\r\n", -				            ++md->trId, fn ); -				g_free( fn ); +				msn_ns_send_adl( ic ); -				msn_write( ic, buf, strlen( buf ) ); +				if( md->adl_todo < 0 && !( ic->flags & OPT_LOGGED_IN ) ) +					return msn_ns_set_display_name( ic, set_getstr( &ic->acc->set, "display_name" ) );  			}  		}  		else if( num_parts >= 3 ) | 
