diff -uNr bitlbee-20040811-orig/commands.c bitlbee-20040811/commands.c --- bitlbee-20040811-orig/commands.c 2004-08-08 10:13:11.000000000 +0200 +++ bitlbee-20040811/commands.c 2004-08-16 13:54:55.000000000 +0200 @@ -338,6 +338,7 @@ int cmd_add( irc_t *irc, char **cmd ) { account_t *a; + user_t *oldowner; if( !( a = account_get( irc, cmd[1] ) ) ) { @@ -357,9 +358,9 @@ irc_usermsg( irc, "The requested nick `%s' is invalid", cmd[3] ); return( 0 ); } - else if( user_find( irc, cmd[3] ) ) + else if( ( oldowner = user_find( irc, cmd[3] ) ) != NULL ) { - irc_usermsg( irc, "The requested nick `%s' already exists", cmd[3] ); + irc_usermsg( irc, "The requested nick `%s' is already used by user `%s'", cmd[3], oldowner->handle); return( 0 ); } else @@ -414,16 +415,16 @@ int cmd_rename( irc_t *irc, char **cmd ) { - user_t *u; + user_t *u, *oldowner; if( g_strcasecmp( cmd[1], irc->nick ) == 0 ) { irc_usermsg( irc, "Nick `%s' can't be changed", cmd[1] ); return( 1 ); } - if( user_find( irc, cmd[2] ) && ( nick_cmp( cmd[1], cmd[2] ) != 0 ) ) + if( ( oldowner = user_find( irc, cmd[2] ) ) != NULL && ( nick_cmp( cmd[1], cmd[2] ) != 0 ) ) { - irc_usermsg( irc, "Nick `%s' already exists", cmd[2] ); + irc_usermsg( irc, "Nick `%s' is already used by user `%s'", cmd[2], oldowner->handle); return( 1 ); } if( !nick_ok( cmd[2] ) )