Cleanup check_mode_lock() a little bit. Use strlcat, rather than strcat.

Prefer m_strdup over malloc_strcpy.


git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@366 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
Tim Cava
2013-08-23 04:49:54 +00:00
parent 56f5eceb26
commit 4ba3f45a89

View File

@@ -295,25 +295,21 @@ char *s;
int check_mode_lock(char *channel, char *mode_list, int server)
{
ChannelList *chan;
char buffer[BIG_BUFFER_SIZE+1];
char buffer[BIG_BUFFER_SIZE];
if ((chan = lookup_channel(channel, server, 0)) && chan->modelock_key)
{
char *newmode;
char *modelock = NULL;
char *new_mode_list = NULL;
char *save, *save1;
char *modelock, *new_mode_list, *newmode, *save, *save1;
char *args = NULL, *args1 = NULL;
int add = 0;
memset(buffer, 0, sizeof(buffer));
malloc_strcpy(&modelock, chan->modelock_key);
malloc_strcpy(&new_mode_list, mode_list);
save1 = new_mode_list;
*buffer = 0;
modelock = m_strdup(chan->modelock_key);
new_mode_list = m_strdup(mode_list);
save = modelock;
new_mode_list = next_arg(new_mode_list, &args1);
save1 = new_mode_list;
modelock = next_arg(modelock, &args);
new_mode_list = next_arg(new_mode_list, &args1);
while (*modelock)
{
@@ -335,25 +331,25 @@ char buffer[BIG_BUFFER_SIZE+1];
key = next_arg(args1, &args1);
if (chan->key)
{
strcat(buffer, "-k " );
strcat(buffer, chan->key);
strlcat(buffer, "-k ", sizeof buffer);
strlcat(buffer, chan->key, sizeof buffer);
}
key = next_arg(args, &args);
if (key)
{
strcat(buffer, " +k ");
strcat(buffer, key);
strcat(buffer, space);
strlcat(buffer, " +k ", sizeof buffer);
strlcat(buffer, key, sizeof buffer);
strlcat(buffer, space, sizeof buffer);
}
}
else
{
if (!chan->key)
break;
strcat(buffer, "-k ");
strcat(buffer, chan->key);
strlcat(buffer, "-k ", sizeof buffer);
strlcat(buffer, chan->key, sizeof buffer);
}
strcat(buffer, space);
strlcat(buffer, space, sizeof buffer);
}
break;
case 'l':
@@ -366,15 +362,15 @@ char buffer[BIG_BUFFER_SIZE+1];
limit = strtoul(args, &args, 10);
if (limit > 0)
{
strcat(buffer, "+l ");
strcat(buffer, ltoa(limit));
strcat(buffer, space);
strlcat(buffer, "+l ", sizeof buffer);
strlcat(buffer, ltoa(limit), sizeof buffer);
strlcat(buffer, space, sizeof buffer);
}
}
else
{
chan->limit = 0;
strcat(buffer, "-l");
strlcat(buffer, "-l", sizeof buffer);
}
}
break;
@@ -383,14 +379,14 @@ char buffer[BIG_BUFFER_SIZE+1];
{
if (add)
{
strcat(buffer, "+");
strlcat(buffer, "+", sizeof buffer);
}
else
{
strcat(buffer, "-");
strlcat(buffer, "-", sizeof buffer);
}
buffer[strlen(buffer)] = *modelock;
strcat(buffer, space);
strlcat(buffer, space, sizeof buffer);
}
break;
}