aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--protocols/nogaim.c9
-rw-r--r--user.c4
2 files changed, 10 insertions, 3 deletions
diff --git a/protocols/nogaim.c b/protocols/nogaim.c
index eee104c4..568afe33 100644
--- a/protocols/nogaim.c
+++ b/protocols/nogaim.c
@@ -482,7 +482,14 @@ void add_buddy( struct gaim_connection *gc, char *group, char *handle, char *rea
}
else if( gc->user->proto_opt[0] && *gc->user->proto_opt[0] )
{
- u->host = g_strdup( gc->user->proto_opt[0] );
+ char *colon;
+
+ if( ( colon = strchr( gc->user->proto_opt[0], ':' ) ) )
+ u->host = g_strndup( gc->user->proto_opt[0],
+ colon - gc->user->proto_opt[0] );
+ else
+ u->host = g_strdup( gc->user->proto_opt[0] );
+
u->user = g_strdup( handle );
/* s/ /_/ ... important for AOL screennames */
diff --git a/user.c b/user.c
index b795c864..9c987fa5 100644
--- a/user.c
+++ b/user.c
@@ -167,8 +167,8 @@ void user_rename( irc_t *irc, char *oldnick, char *newnick )
if( u->nick == u->realname ) u->realname = NULL;
u->nick = g_strdup( newnick );
if( !u->user ) u->user = u->nick;
- if( !u->host ) u->user = u->host;
- if( !u->realname ) u->user = u->realname;
+ if( !u->host ) u->host = u->nick;
+ if( !u->realname ) u->realname = u->nick;
/* Remove the old reference to this user from the hash and create a
new one with the new nick. This is indeed a bit messy. */