diff options
Diffstat (limited to 'protocols/msn/ns.c')
| -rw-r--r-- | protocols/msn/ns.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c index e4c2b68c..9774f3e2 100644 --- a/protocols/msn/ns.c +++ b/protocols/msn/ns.c @@ -222,11 +222,19 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )  		}  		else if( num_parts == 7 && strcmp( cmd[2], "OK" ) == 0 )  		{ +			set_t *s; +			  			http_decode( cmd[4] );  			strncpy( gc->displayname, cmd[4], sizeof( gc->displayname ) );  			gc->displayname[sizeof(gc->displayname)-1] = 0; +			if( ( s = set_find( &gc->acc->set, "display_name" ) ) ) +			{ +				g_free( s->value ); +				s->value = g_strdup( cmd[4] ); +			} +			  			set_login_progress( gc, 1, "Authenticated, getting buddy list" );  			g_snprintf( buf, sizeof( buf ), "SYN %d 0\r\n", ++md->trId ); @@ -516,9 +524,17 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )  		if( g_strcasecmp( cmd[3], gc->username ) == 0 )  		{ +			set_t *s; +			  			http_decode( cmd[4] );  			strncpy( gc->displayname, cmd[4], sizeof( gc->displayname ) );  			gc->displayname[sizeof(gc->displayname)-1] = 0; +			 +			if( ( s = set_find( &gc->acc->set, "display_name" ) ) ) +			{ +				g_free( s->value ); +				s->value = g_strdup( cmd[4] ); +			}  		}  		else  		{ | 
