aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/ns.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/msn/ns.c')
-rw-r--r--protocols/msn/ns.c16
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
{