- assert( Client != NULL );
- assert( Nick != NULL );
-
- if (! Client_IsValidNick( Nick ))
- {
- IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), Nick );
+ assert(Client != NULL);
+ assert(Nick != NULL);
+
+ if (!Client_IsValidNick(Nick)) {
+ if (strlen(Nick ) >= Conf_MaxNickLength)
+ IRC_WriteStrClient(Client, ERR_NICKNAMETOOLONG_MSG,
+ Client_ID(Client), Nick,
+ Conf_MaxNickLength - 1);
+ else
+ IRC_WriteStrClient(Client, ERR_ERRONEUSNICKNAME_MSG,
+ Client_ID(Client), Nick);