summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/cs_access.c10
-rw-r--r--src/core/cs_akick.c13
2 files changed, 14 insertions, 9 deletions
diff --git a/src/core/cs_access.c b/src/core/cs_access.c
index 3adff98d1..fffa8da38 100644
--- a/src/core/cs_access.c
+++ b/src/core/cs_access.c
@@ -96,7 +96,7 @@ static int access_list_callback(User * u, int num, va_list args)
class CommandCSAccess : public Command
{
public:
- CommandCSAccess() : Command("ACCESS", 0, 4)
+ CommandCSAccess() : Command("ACCESS", 2, 4)
{
}
@@ -104,8 +104,8 @@ class CommandCSAccess : public Command
{
const char *chan = params[0].c_str();
const char *cmd = params[1].c_str();
- const char *nick = params[2].c_str();
- const char *s = params[3].c_str();
+ const char *nick = params.size() > 2 ? params[2].c_str() : NULL;
+ const char *s = params.size() > 3 ? params[3].c_str() : NULL;
char event_access[BUFSIZE];
ChannelInfo *ci;
@@ -394,8 +394,8 @@ class CommandCSLevels : public Command
{
const char *chan = params[0].c_str();
const char *cmd = params[1].c_str();
- const char *what = params[2].c_str();
- const char *s = params[3].c_str();
+ const char *what = params.size() > 2 ? params[2].c_str() : NULL;
+ const char *s = params.size() > 3 ? params[3].c_str() : NULL;
char *error;
ChannelInfo *ci;
diff --git a/src/core/cs_akick.c b/src/core/cs_akick.c
index 9eedef49b..bc21a81a5 100644
--- a/src/core/cs_akick.c
+++ b/src/core/cs_akick.c
@@ -161,10 +161,15 @@ class CommandCSAKick : public Command
{
const char *chan = params[0].c_str();
const char *cmd = params[1].c_str();
- const char *mask = params[2].c_str();
- if (params[5].length() > 200)
- params[5].resize(200); // XXX: is this right?
- const char *reason = params[5].c_str();
+ const char *mask = params.size() > 2 ? params[2].c_str() : NULL;
+ const char *reason = NULL;
+
+ if (params.size() > 3)
+ {
+ params[3].resize(200); // XXX: is this right?
+ reason = params[3].c_str();
+ }
+
ChannelInfo *ci;
AutoKick *akick;
int i;