#include "portab.h"
-static char UNUSED id[] = "$Id: irc-server.c,v 1.24 2002/12/12 12:24:18 alex Exp $";
+static char UNUSED id[] = "$Id: irc-server.c,v 1.27 2002/12/26 17:04:54 alex Exp $";
#include "imp.h"
#include <assert.h>
assert( cl != NULL );
/* Nick, ggf. mit Modes, anhaengen */
- if( str[strlen( str ) - 1] != ':' ) strcat( str, "," );
- if( strchr( Channel_UserModes( chan, cl ), 'v' )) strcat( str, "+" );
- if( strchr( Channel_UserModes( chan, cl ), 'o' )) strcat( str, "@" );
- strcat( str, Client_ID( cl ));
+ if( str[strlen( str ) - 1] != ':' ) strlcat( str, ",", sizeof( str ));
+ if( strchr( Channel_UserModes( chan, cl ), 'v' )) strlcat( str, "+", sizeof( str ));
+ if( strchr( Channel_UserModes( chan, cl ), 'o' )) strlcat( str, "@", sizeof( str ));
+ strlcat( str, Client_ID( cl ), sizeof( str ));
if( strlen( str ) > ( LINE_LEN - CLIENT_NICK_LEN - 8 ))
{
/* Falsche Anzahl Parameter? */
if( Req->argc != 2 ) return IRC_WriteStrClient( Client, ERR_NEEDMOREPARAMS_MSG, Client_ID( Client ), Req->command );
- strncpy( str, Req->argv[1], COMMAND_LEN - 1 );
- str[COMMAND_LEN - 1] = '\0';
+ strlcpy( str, Req->argv[1], sizeof( str ));
channame = Req->argv[0];
ptr = strtok( str, "," );
IRC_WriteStrChannelPrefix( Client, chan, c, FALSE, "JOIN :%s", channame );
/* Channel-User-Modes setzen */
- strcpy( modes, Channel_UserModes( chan, c ));
+ strlcpy( modes, Channel_UserModes( chan, c ), sizeof( modes ));
if( modes[0] )
{
/* Modes im Channel bekannt machen */