|
@@ -12,11 +12,11 @@ static struct flag_record victim = {FR_GLOBAL | FR_CHAN, 0, 0, 0, 0, 0};
|
|
|
|
|
|
|
|
static void cmd_pls_ban(struct userrec *u, int idx, char *par)
|
|
static void cmd_pls_ban(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname, *who, s[UHOSTLEN], s1[UHOSTLEN], *p, *p_expire;
|
|
|
|
|
|
|
+ char *chname = NULL, *who = NULL, s[UHOSTLEN] = "", s1[UHOSTLEN] = "", *p = NULL, *p_expire = NULL;
|
|
|
unsigned long int expire_time = 0, expire_foo;
|
|
unsigned long int expire_time = 0, expire_foo;
|
|
|
int sticky = 0;
|
|
int sticky = 0;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
- module_entry *me;
|
|
|
|
|
|
|
+ module_entry *me = NULL;
|
|
|
|
|
|
|
|
if (!par[0]) {
|
|
if (!par[0]) {
|
|
|
dprintf(idx, "Usage: +ban <hostmask> [channel] [%%<XdXhXm>] [reason]\n");
|
|
dprintf(idx, "Usage: +ban <hostmask> [channel] [%%<XdXhXm>] [reason]\n");
|
|
@@ -126,17 +126,14 @@ static void cmd_pls_ban(struct userrec *u, int idx, char *par)
|
|
|
if ((me = module_find("irc", 0, 0)))
|
|
if ((me = module_find("irc", 0, 0)))
|
|
|
(me->funcs[IRC_CHECK_THIS_BAN])(chan, s, sticky);
|
|
(me->funcs[IRC_CHECK_THIS_BAN])(chan, s, sticky);
|
|
|
} else {
|
|
} else {
|
|
|
- u_addban(NULL, s, dcc[idx].nick, par,
|
|
|
|
|
- expire_time ? now + expire_time : 0, 0);
|
|
|
|
|
|
|
+ u_addban(NULL, s, dcc[idx].nick, par, expire_time ? now + expire_time : 0, 0);
|
|
|
if (par[0] == '*') {
|
|
if (par[0] == '*') {
|
|
|
sticky = 1;
|
|
sticky = 1;
|
|
|
par++;
|
|
par++;
|
|
|
- putlog(LOG_CMDS, "*", "#%s# (GLOBAL) +ban %s (%s) (sticky)",
|
|
|
|
|
- dcc[idx].nick, s, par);
|
|
|
|
|
|
|
+ putlog(LOG_CMDS, "*", "#%s# (GLOBAL) +ban %s (%s) (sticky)", dcc[idx].nick, s, par);
|
|
|
dprintf(idx, "New sticky ban: %s (%s)\n", s, par);
|
|
dprintf(idx, "New sticky ban: %s (%s)\n", s, par);
|
|
|
} else {
|
|
} else {
|
|
|
- putlog(LOG_CMDS, "*", "#%s# (GLOBAL) +ban %s (%s)", dcc[idx].nick,
|
|
|
|
|
- s, par);
|
|
|
|
|
|
|
+ putlog(LOG_CMDS, "*", "#%s# (GLOBAL) +ban %s (%s)", dcc[idx].nick, s, par);
|
|
|
dprintf(idx, "New ban: %s (%s)\n", s, par);
|
|
dprintf(idx, "New ban: %s (%s)\n", s, par);
|
|
|
}
|
|
}
|
|
|
if ((me = module_find("irc", 0, 0)))
|
|
if ((me = module_find("irc", 0, 0)))
|
|
@@ -149,10 +146,10 @@ static void cmd_pls_ban(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_pls_exempt(struct userrec *u, int idx, char *par)
|
|
static void cmd_pls_exempt(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname, *who, s[UHOSTLEN], s1[UHOSTLEN], *p, *p_expire;
|
|
|
|
|
|
|
+ char *chname = NULL, *who = NULL, s[UHOSTLEN] = "", s1[UHOSTLEN] = "", *p = NULL, *p_expire = NULL;
|
|
|
unsigned long int expire_time = 0, expire_foo;
|
|
unsigned long int expire_time = 0, expire_foo;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
- module_entry *me;
|
|
|
|
|
|
|
+ module_entry *me = NULL;
|
|
|
|
|
|
|
|
if (!use_exempts) {
|
|
if (!use_exempts) {
|
|
|
dprintf(idx, "This command can only be used with use-exempts enabled.\n");
|
|
dprintf(idx, "This command can only be used with use-exempts enabled.\n");
|
|
@@ -278,10 +275,10 @@ static void cmd_pls_exempt(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_pls_invite(struct userrec *u, int idx, char *par)
|
|
static void cmd_pls_invite(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname, *who, s[UHOSTLEN], s1[UHOSTLEN], *p, *p_expire;
|
|
|
|
|
|
|
+ char *chname = NULL, *who = NULL, s[UHOSTLEN] = "", s1[UHOSTLEN] = "", *p = NULL, *p_expire = NULL;
|
|
|
unsigned long int expire_time = 0, expire_foo;
|
|
unsigned long int expire_time = 0, expire_foo;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
- module_entry *me;
|
|
|
|
|
|
|
+ module_entry *me = NULL;
|
|
|
|
|
|
|
|
if (!use_invites) {
|
|
if (!use_invites) {
|
|
|
dprintf(idx, "This command can only be used with use-invites enabled.\n");
|
|
dprintf(idx, "This command can only be used with use-invites enabled.\n");
|
|
@@ -410,8 +407,8 @@ static void cmd_mns_ban(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
int console = 0, i = 0, j;
|
|
int console = 0, i = 0, j;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
- char s[UHOSTLEN], *ban, *chname, *mask;
|
|
|
|
|
- masklist *b;
|
|
|
|
|
|
|
+ char s[UHOSTLEN] = "", *ban = NULL, *chname = NULL, *mask = NULL;
|
|
|
|
|
+ masklist *b = NULL;
|
|
|
|
|
|
|
|
if (!par[0]) {
|
|
if (!par[0]) {
|
|
|
dprintf(idx, "Usage: -ban <hostmask|ban #> [channel]\n");
|
|
dprintf(idx, "Usage: -ban <hostmask|ban #> [channel]\n");
|
|
@@ -522,8 +519,8 @@ static void cmd_mns_exempt(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
int console = 0, i = 0, j;
|
|
int console = 0, i = 0, j;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
- char s[UHOSTLEN], *exempt, *chname, *mask;
|
|
|
|
|
- masklist *e;
|
|
|
|
|
|
|
+ char s[UHOSTLEN] = "", *exempt = NULL, *chname = NULL, *mask = NULL;
|
|
|
|
|
+ masklist *e = NULL;
|
|
|
|
|
|
|
|
if (!use_exempts) {
|
|
if (!use_exempts) {
|
|
|
dprintf(idx, "This command can only be used with use-exempts enabled.\n");
|
|
dprintf(idx, "This command can only be used with use-exempts enabled.\n");
|
|
@@ -639,8 +636,8 @@ static void cmd_mns_invite(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
int console = 0, i = 0, j;
|
|
int console = 0, i = 0, j;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
- char s[UHOSTLEN], *invite, *chname, *mask;
|
|
|
|
|
- masklist *inv;
|
|
|
|
|
|
|
+ char s[UHOSTLEN] = "", *invite = NULL, *chname = NULL, *mask = NULL;
|
|
|
|
|
+ masklist *inv = NULL;
|
|
|
|
|
|
|
|
if (!use_invites) {
|
|
if (!use_invites) {
|
|
|
dprintf(idx, "This command can only be used with use-invites enabled.\n");
|
|
dprintf(idx, "This command can only be used with use-invites enabled.\n");
|
|
@@ -797,7 +794,7 @@ static void cmd_invites(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_info(struct userrec *u, int idx, char *par)
|
|
static void cmd_info(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char s[512], *chname, *s1;
|
|
|
|
|
|
|
+ char s[512] = "", *chname = NULL, *s1 = NULL;
|
|
|
int locked = 0;
|
|
int locked = 0;
|
|
|
|
|
|
|
|
if (!use_info) {
|
|
if (!use_info) {
|
|
@@ -867,8 +864,8 @@ static void cmd_info(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_chinfo(struct userrec *u, int idx, char *par)
|
|
static void cmd_chinfo(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *handle, *chname;
|
|
|
|
|
- struct userrec *u1;
|
|
|
|
|
|
|
+ char *handle = NULL, *chname = NULL;
|
|
|
|
|
+ struct userrec *u1 = NULL;
|
|
|
|
|
|
|
|
if (!use_info) {
|
|
if (!use_info) {
|
|
|
dprintf(idx, "Info storage is turned off.\n");
|
|
dprintf(idx, "Info storage is turned off.\n");
|
|
@@ -936,11 +933,9 @@ static void cmd_chinfo(struct userrec *u, int idx, char *par)
|
|
|
static void cmd_slowjoin(struct userrec *u, int idx, char *par)
|
|
static void cmd_slowjoin(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
int intvl = 0, delay = 0, count = 1;
|
|
int intvl = 0, delay = 0, count = 1;
|
|
|
- char *chname;
|
|
|
|
|
- char buf[2048], buf2[1048];
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
- tand_t *bot;
|
|
|
|
|
- char *p;
|
|
|
|
|
|
|
+ char *chname = NULL, *p = NULL, buf[2048] = "", buf2[1048] = "";
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
|
|
+ tand_t *bot = NULL;
|
|
|
|
|
|
|
|
/* slowjoin #chan 60 */
|
|
/* slowjoin #chan 60 */
|
|
|
putlog(LOG_CMDS, "*", "#%s# slowjoin %s", dcc[idx].nick, par);
|
|
putlog(LOG_CMDS, "*", "#%s# slowjoin %s", dcc[idx].nick, par);
|
|
@@ -984,8 +979,8 @@ static void cmd_slowjoin(struct userrec *u, int idx, char *par)
|
|
|
count=1;
|
|
count=1;
|
|
|
#endif /* HUB */
|
|
#endif /* HUB */
|
|
|
for (bot = tandbot; bot; bot = bot->next) {
|
|
for (bot = tandbot; bot; bot = bot->next) {
|
|
|
- struct userrec *ubot;
|
|
|
|
|
- char tmp[100];
|
|
|
|
|
|
|
+ struct userrec *ubot = NULL;
|
|
|
|
|
+ char tmp[100] = "";
|
|
|
|
|
|
|
|
ubot = get_user_by_handle(userlist, bot->bot);
|
|
ubot = get_user_by_handle(userlist, bot->bot);
|
|
|
if (ubot) {
|
|
if (ubot) {
|
|
@@ -994,6 +989,7 @@ static void cmd_slowjoin(struct userrec *u, int idx, char *par)
|
|
|
sprintf(tmp, "sj %s 0\n", chan->dname);
|
|
sprintf(tmp, "sj %s 0\n", chan->dname);
|
|
|
} else {
|
|
} else {
|
|
|
int v = (random() % (intvl / 2)) - (intvl / 4);
|
|
int v = (random() % (intvl / 2)) - (intvl / 4);
|
|
|
|
|
+
|
|
|
delay += intvl;
|
|
delay += intvl;
|
|
|
sprintf(tmp, "sj %s %i\n", chan->dname, delay + v);
|
|
sprintf(tmp, "sj %s %i\n", chan->dname, delay + v);
|
|
|
count++;
|
|
count++;
|
|
@@ -1012,10 +1008,9 @@ static void cmd_slowjoin(struct userrec *u, int idx, char *par)
|
|
|
static void cmd_slowpart(struct userrec *u, int idx, char *par)
|
|
static void cmd_slowpart(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
int intvl = 0, delay = 0, count = 1;
|
|
int intvl = 0, delay = 0, count = 1;
|
|
|
- char *chname;
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
- tand_t *bot;
|
|
|
|
|
- char *p;
|
|
|
|
|
|
|
+ char *chname = NULL, *p = NULL;
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
|
|
+ tand_t *bot = NULL;
|
|
|
|
|
|
|
|
/* slowpart #chan 60 */
|
|
/* slowpart #chan 60 */
|
|
|
putlog(LOG_CMDS, "*", "#%s# slowpart %s", dcc[idx].nick, par);
|
|
putlog(LOG_CMDS, "*", "#%s# slowpart %s", dcc[idx].nick, par);
|
|
@@ -1046,13 +1041,13 @@ static void cmd_slowpart(struct userrec *u, int idx, char *par)
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
#ifdef HUB
|
|
#ifdef HUB
|
|
|
- count=0;
|
|
|
|
|
|
|
+ count = 0;
|
|
|
#else /* !HUB */
|
|
#else /* !HUB */
|
|
|
- count=1;
|
|
|
|
|
|
|
+ count = 1;
|
|
|
#endif /* HUB */
|
|
#endif /* HUB */
|
|
|
for (bot = tandbot; bot; bot = bot->next) {
|
|
for (bot = tandbot; bot; bot = bot->next) {
|
|
|
- char tmp[100];
|
|
|
|
|
- struct userrec *ubot;
|
|
|
|
|
|
|
+ char tmp[100] = "";
|
|
|
|
|
+ struct userrec *ubot = NULL;
|
|
|
|
|
|
|
|
ubot = get_user_by_handle(userlist, bot->bot);
|
|
ubot = get_user_by_handle(userlist, bot->bot);
|
|
|
/* Variation: 60 secs intvl should be 60 +/- 15 */
|
|
/* Variation: 60 secs intvl should be 60 +/- 15 */
|
|
@@ -1061,6 +1056,7 @@ static void cmd_slowpart(struct userrec *u, int idx, char *par)
|
|
|
sprintf(tmp, "sp %s 0\n", chname);
|
|
sprintf(tmp, "sp %s 0\n", chname);
|
|
|
} else {
|
|
} else {
|
|
|
int v = (random() % (intvl / 2)) - (intvl / 4);
|
|
int v = (random() % (intvl / 2)) - (intvl / 4);
|
|
|
|
|
+
|
|
|
delay += intvl;
|
|
delay += intvl;
|
|
|
sprintf(tmp, "sp %s %i\n", chname, delay + v);
|
|
sprintf(tmp, "sp %s %i\n", chname, delay + v);
|
|
|
count++;
|
|
count++;
|
|
@@ -1077,9 +1073,9 @@ static void cmd_slowpart(struct userrec *u, int idx, char *par)
|
|
|
static void cmd_stick_yn(int idx, char *par, int yn)
|
|
static void cmd_stick_yn(int idx, char *par, int yn)
|
|
|
{
|
|
{
|
|
|
int i = 0, j;
|
|
int i = 0, j;
|
|
|
- struct chanset_t *chan, *achan;
|
|
|
|
|
- char *stick_type, s[UHOSTLEN], chname[81];
|
|
|
|
|
- module_entry *me;
|
|
|
|
|
|
|
+ struct chanset_t *chan = NULL, *achan = NULL;
|
|
|
|
|
+ char *stick_type = NULL, s[UHOSTLEN] = "", chname[81] = "";
|
|
|
|
|
+ module_entry *me = NULL;
|
|
|
|
|
|
|
|
stick_type = newsplit(&par);
|
|
stick_type = newsplit(&par);
|
|
|
strncpyz(s, newsplit(&par), sizeof s);
|
|
strncpyz(s, newsplit(&par), sizeof s);
|
|
@@ -1091,8 +1087,7 @@ static void cmd_stick_yn(int idx, char *par, int yn)
|
|
|
strncpyz(s, stick_type, sizeof s);
|
|
strncpyz(s, stick_type, sizeof s);
|
|
|
}
|
|
}
|
|
|
if (!s[0]) {
|
|
if (!s[0]) {
|
|
|
- dprintf(idx, "Usage: %sstick [ban/exempt/invite] <hostmask or number> [channel]\n",
|
|
|
|
|
- yn ? "" : "un");
|
|
|
|
|
|
|
+ dprintf(idx, "Usage: %sstick [ban/exempt/invite] <hostmask or number> [channel]\n", yn ? "" : "un");
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
/* Now deal with exemptions */
|
|
/* Now deal with exemptions */
|
|
@@ -1172,8 +1167,7 @@ static void cmd_stick_yn(int idx, char *par, int yn)
|
|
|
}
|
|
}
|
|
|
j = u_setsticky_invite(chan, s, yn);
|
|
j = u_setsticky_invite(chan, s, yn);
|
|
|
if (j > 0) {
|
|
if (j > 0) {
|
|
|
- putlog(LOG_CMDS, "*", "#%s# %sstick invite %s %s", dcc[idx].nick,
|
|
|
|
|
- yn ? "" : "un", s, chname);
|
|
|
|
|
|
|
+ putlog(LOG_CMDS, "*", "#%s# %sstick invite %s %s", dcc[idx].nick, yn ? "" : "un", s, chname);
|
|
|
dprintf(idx, "%stuck %s invite: %s\n", yn ? "S" : "Uns", chname, s);
|
|
dprintf(idx, "%stuck %s invite: %s\n", yn ? "S" : "Uns", chname, s);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -1184,8 +1178,7 @@ static void cmd_stick_yn(int idx, char *par, int yn)
|
|
|
i = u_setsticky_ban(NULL, s,
|
|
i = u_setsticky_ban(NULL, s,
|
|
|
(dcc[idx].user->flags & USER_MASTER) ? yn : -1);
|
|
(dcc[idx].user->flags & USER_MASTER) ? yn : -1);
|
|
|
if (i > 0) {
|
|
if (i > 0) {
|
|
|
- putlog(LOG_CMDS, "*", "#%s# %sstick ban %s",
|
|
|
|
|
- dcc[idx].nick, yn ? "" : "un", s);
|
|
|
|
|
|
|
+ putlog(LOG_CMDS, "*", "#%s# %sstick ban %s", dcc[idx].nick, yn ? "" : "un", s);
|
|
|
dprintf(idx, "%stuck ban: %s\n", yn ? "S" : "Uns", s);
|
|
dprintf(idx, "%stuck ban: %s\n", yn ? "S" : "Uns", s);
|
|
|
if ((me = module_find("irc", 0, 0)))
|
|
if ((me = module_find("irc", 0, 0)))
|
|
|
for (achan = chanset; achan != NULL; achan = achan->next)
|
|
for (achan = chanset; achan != NULL; achan = achan->next)
|
|
@@ -1212,8 +1205,7 @@ static void cmd_stick_yn(int idx, char *par, int yn)
|
|
|
}
|
|
}
|
|
|
j = u_setsticky_ban(chan, s, yn);
|
|
j = u_setsticky_ban(chan, s, yn);
|
|
|
if (j > 0) {
|
|
if (j > 0) {
|
|
|
- putlog(LOG_CMDS, "*", "#%s# %sstick ban %s %s", dcc[idx].nick,
|
|
|
|
|
- yn ? "" : "un", s, chname);
|
|
|
|
|
|
|
+ putlog(LOG_CMDS, "*", "#%s# %sstick ban %s %s", dcc[idx].nick, yn ? "" : "un", s, chname);
|
|
|
dprintf(idx, "%stuck %s ban: %s\n", yn ? "S" : "Uns", chname, s);
|
|
dprintf(idx, "%stuck %s ban: %s\n", yn ? "S" : "Uns", chname, s);
|
|
|
if ((me = module_find("irc", 0, 0)))
|
|
if ((me = module_find("irc", 0, 0)))
|
|
|
(me->funcs[IRC_CHECK_THIS_BAN])(chan, s, yn);
|
|
(me->funcs[IRC_CHECK_THIS_BAN])(chan, s, yn);
|
|
@@ -1235,10 +1227,10 @@ static void cmd_unstick(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_pls_chrec(struct userrec *u, int idx, char *par)
|
|
static void cmd_pls_chrec(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *nick, *chn;
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
- struct userrec *u1;
|
|
|
|
|
- struct chanuserrec *chanrec;
|
|
|
|
|
|
|
+ char *nick = NULL, *chn = NULL;
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
|
|
+ struct userrec *u1 = NULL;
|
|
|
|
|
+ struct chanuserrec *chanrec = NULL;
|
|
|
|
|
|
|
|
if (!par[0]) {
|
|
if (!par[0]) {
|
|
|
dprintf(idx, "Usage: +chrec <user> [channel]\n");
|
|
dprintf(idx, "Usage: +chrec <user> [channel]\n");
|
|
@@ -1286,9 +1278,9 @@ static void cmd_pls_chrec(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_mns_chrec(struct userrec *u, int idx, char *par)
|
|
static void cmd_mns_chrec(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *nick, *chn = NULL;
|
|
|
|
|
- struct userrec *u1;
|
|
|
|
|
- struct chanuserrec *chanrec;
|
|
|
|
|
|
|
+ char *nick = NULL, *chn = NULL;
|
|
|
|
|
+ struct userrec *u1 = NULL;
|
|
|
|
|
+ struct chanuserrec *chanrec = NULL;
|
|
|
|
|
|
|
|
if (!par[0]) {
|
|
if (!par[0]) {
|
|
|
dprintf(idx, "Usage: -chrec <user> [channel]\n");
|
|
dprintf(idx, "Usage: -chrec <user> [channel]\n");
|
|
@@ -1336,10 +1328,10 @@ static void cmd_mns_chrec(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_cycle(struct userrec *u, int idx, char *par)
|
|
static void cmd_cycle(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname;
|
|
|
|
|
- char buf2[1024];
|
|
|
|
|
|
|
+ char *chname = NULL;
|
|
|
|
|
+ char buf2[1024] = "";
|
|
|
int delay = 10;
|
|
int delay = 10;
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
|
|
|
|
|
putlog(LOG_CMDS, "*", "#%s# cycle %s", dcc[idx].nick, par);
|
|
putlog(LOG_CMDS, "*", "#%s# cycle %s", dcc[idx].nick, par);
|
|
|
|
|
|
|
@@ -1369,9 +1361,8 @@ static void cmd_cycle(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_down(struct userrec *u, int idx, char *par)
|
|
static void cmd_down(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname;
|
|
|
|
|
- char buf2[1024];
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
|
|
+ char *chname = NULL, buf2[1024] = "";
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
|
|
|
|
|
putlog(LOG_CMDS, "*", "#%s# down %s", dcc[idx].nick, par);
|
|
putlog(LOG_CMDS, "*", "#%s# down %s", dcc[idx].nick, par);
|
|
|
|
|
|
|
@@ -1398,9 +1389,8 @@ static void cmd_down(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_pls_chan(struct userrec *u, int idx, char *par)
|
|
static void cmd_pls_chan(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname;
|
|
|
|
|
- char buf2[1024];
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
|
|
+ char *chname = NULL, buf2[1024] = "";
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
|
|
|
|
|
putlog(LOG_CMDS, "*", "#%s# +chan %s", dcc[idx].nick, par);
|
|
putlog(LOG_CMDS, "*", "#%s# +chan %s", dcc[idx].nick, par);
|
|
|
|
|
|
|
@@ -1428,11 +1418,12 @@ static void cmd_pls_chan(struct userrec *u, int idx, char *par)
|
|
|
else {
|
|
else {
|
|
|
if ((chan = findchan_by_dname(chname))) {
|
|
if ((chan = findchan_by_dname(chname))) {
|
|
|
char *tmp = NULL;
|
|
char *tmp = NULL;
|
|
|
- tmp = malloc(7 + 1 + strlen(dcc[idx].nick) + 1);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ tmp = calloc(1, 7 + 1 + strlen(dcc[idx].nick) + 1);
|
|
|
sprintf(tmp, "addedby %s", dcc[idx].nick);
|
|
sprintf(tmp, "addedby %s", dcc[idx].nick);
|
|
|
do_chanset(chan, tmp, 1);
|
|
do_chanset(chan, tmp, 1);
|
|
|
free(tmp);
|
|
free(tmp);
|
|
|
- tmp = malloc(7 + 1 + 10 + 1);
|
|
|
|
|
|
|
+ tmp = calloc(1, 7 + 1 + 10 + 1);
|
|
|
sprintf(tmp, "addedts %lu", now);
|
|
sprintf(tmp, "addedts %lu", now);
|
|
|
do_chanset(chan, tmp, 1);
|
|
do_chanset(chan, tmp, 1);
|
|
|
free(tmp);
|
|
free(tmp);
|
|
@@ -1445,9 +1436,8 @@ static void cmd_pls_chan(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_mns_chan(struct userrec *u, int idx, char *par)
|
|
static void cmd_mns_chan(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname;
|
|
|
|
|
- char buf2[1024];
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
|
|
+ char *chname = NULL, buf2[1024] = "";
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
int i;
|
|
int i;
|
|
|
|
|
|
|
|
putlog(LOG_CMDS, "*", "#%s# -chan %s", dcc[idx].nick, par);
|
|
putlog(LOG_CMDS, "*", "#%s# -chan %s", dcc[idx].nick, par);
|
|
@@ -1490,7 +1480,7 @@ static void cmd_mns_chan(struct userrec *u, int idx, char *par)
|
|
|
#define FLAG_COLS 4
|
|
#define FLAG_COLS 4
|
|
|
void show_flag(int idx, char *work, int *cnt, char *name, int state)
|
|
void show_flag(int idx, char *work, int *cnt, char *name, int state)
|
|
|
{
|
|
{
|
|
|
- char tmp[101], chr_state[15];
|
|
|
|
|
|
|
+ char tmp[101] = "", chr_state[15] = "";
|
|
|
/* empty buffer if no (char *) name */
|
|
/* empty buffer if no (char *) name */
|
|
|
if (((*cnt) < (FLAG_COLS - 1)) && (!name || (name && !name[0]))) (*cnt) = (FLAG_COLS - 1);
|
|
if (((*cnt) < (FLAG_COLS - 1)) && (!name || (name && !name[0]))) (*cnt) = (FLAG_COLS - 1);
|
|
|
(*cnt)++;
|
|
(*cnt)++;
|
|
@@ -1520,7 +1510,7 @@ void show_flag(int idx, char *work, int *cnt, char *name, int state)
|
|
|
#define INT_COLS 1
|
|
#define INT_COLS 1
|
|
|
void show_int(int idx, char *work, int *cnt, char *desc, int state, char *yes, char *no)
|
|
void show_int(int idx, char *work, int *cnt, char *desc, int state, char *yes, char *no)
|
|
|
{
|
|
{
|
|
|
- char tmp[101], chr_state[101];
|
|
|
|
|
|
|
+ char tmp[101] = "", chr_state[101] = "";
|
|
|
|
|
|
|
|
egg_snprintf(chr_state, sizeof chr_state, "%d", state);
|
|
egg_snprintf(chr_state, sizeof chr_state, "%d", state);
|
|
|
/* empty buffer if no (char *) name */
|
|
/* empty buffer if no (char *) name */
|
|
@@ -1534,8 +1524,8 @@ void show_int(int idx, char *work, int *cnt, char *desc, int state, char *yes, c
|
|
|
sprintf(work, " ");
|
|
sprintf(work, " ");
|
|
|
/* need to make next line all one char, and then put it into %-30s */
|
|
/* need to make next line all one char, and then put it into %-30s */
|
|
|
if (desc && desc[0]) {
|
|
if (desc && desc[0]) {
|
|
|
- char tmp2[50], tmp3[50];
|
|
|
|
|
- tmp2[0] = tmp3[0] = 0;
|
|
|
|
|
|
|
+ char tmp2[50] = "", tmp3[50] = "";
|
|
|
|
|
+
|
|
|
strcat(tmp2, BOLD(idx));
|
|
strcat(tmp2, BOLD(idx));
|
|
|
if (state && yes) {
|
|
if (state && yes) {
|
|
|
strcat(tmp2, yes);
|
|
strcat(tmp2, yes);
|
|
@@ -1559,10 +1549,10 @@ void show_int(int idx, char *work, int *cnt, char *desc, int state, char *yes, c
|
|
|
#define SHOW_INT(desc, state, yes, no) show_int(idx, work, &cnt, desc, state, yes, no)
|
|
#define SHOW_INT(desc, state, yes, no) show_int(idx, work, &cnt, desc, state, yes, no)
|
|
|
static void cmd_chaninfo(struct userrec *u, int idx, char *par)
|
|
static void cmd_chaninfo(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname, work[512];
|
|
|
|
|
- struct chanset_t *chan;
|
|
|
|
|
|
|
+ char *chname = NULL, work[512] = "";
|
|
|
|
|
+ struct chanset_t *chan = NULL;
|
|
|
int ii, tmp, cnt = 0;
|
|
int ii, tmp, cnt = 0;
|
|
|
- struct udef_struct *ul;
|
|
|
|
|
|
|
+ struct udef_struct *ul = NULL;
|
|
|
|
|
|
|
|
if (!par[0]) {
|
|
if (!par[0]) {
|
|
|
chname = dcc[idx].u.chat->con_chan;
|
|
chname = dcc[idx].u.chat->con_chan;
|
|
@@ -1581,7 +1571,8 @@ static void cmd_chaninfo(struct userrec *u, int idx, char *par)
|
|
|
if (!(chan = findchan_by_dname(chname)))
|
|
if (!(chan = findchan_by_dname(chname)))
|
|
|
dprintf(idx, "No such channel defined.\n");
|
|
dprintf(idx, "No such channel defined.\n");
|
|
|
else {
|
|
else {
|
|
|
- char nick[NICKLEN], date[81];
|
|
|
|
|
|
|
+ char nick[NICKLEN] = "", date[81] = "";
|
|
|
|
|
+
|
|
|
if (chan->added_ts) {
|
|
if (chan->added_ts) {
|
|
|
#ifndef S_UTCTIME
|
|
#ifndef S_UTCTIME
|
|
|
egg_strftime(date, sizeof date, "%c %Z", localtime(&(chan->added_ts)));
|
|
egg_strftime(date, sizeof date, "%c %Z", localtime(&(chan->added_ts)));
|
|
@@ -1637,7 +1628,6 @@ static void cmd_chaninfo(struct userrec *u, int idx, char *par)
|
|
|
* also include %ctemp in dprintf.
|
|
* also include %ctemp in dprintf.
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
-
|
|
|
|
|
ii = 1;
|
|
ii = 1;
|
|
|
tmp = 0;
|
|
tmp = 0;
|
|
|
for (ul = udef; ul; ul = ul->next)
|
|
for (ul = udef; ul; ul = ul->next)
|
|
@@ -1714,8 +1704,8 @@ static void cmd_chaninfo(struct userrec *u, int idx, char *par)
|
|
|
|
|
|
|
|
static void cmd_chanset(struct userrec *u, int idx, char *par)
|
|
static void cmd_chanset(struct userrec *u, int idx, char *par)
|
|
|
{
|
|
{
|
|
|
- char *chname = NULL, answers[512], *parcpy;
|
|
|
|
|
- char *list[2], *bak, *buf;
|
|
|
|
|
|
|
+ char *chname = NULL, answers[512] = "", *parcpy = NULL;
|
|
|
|
|
+ char *list[2] = { NULL, NULL }, *bak = NULL, *buf = NULL;
|
|
|
struct chanset_t *chan = NULL;
|
|
struct chanset_t *chan = NULL;
|
|
|
int all = 0;
|
|
int all = 0;
|
|
|
|
|
|
|
@@ -1759,8 +1749,7 @@ static void cmd_chanset(struct userrec *u, int idx, char *par)
|
|
|
dprintf(idx, "Usage: chanset [%schannel] <settings>\n", CHANMETA);
|
|
dprintf(idx, "Usage: chanset [%schannel] <settings>\n", CHANMETA);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if (!chan &&
|
|
|
|
|
- !(chan = findchan_by_dname(chname = dcc[idx].u.chat->con_chan))) {
|
|
|
|
|
|
|
+ if (!chan && !(chan = findchan_by_dname(chname = dcc[idx].u.chat->con_chan))) {
|
|
|
dprintf(idx, "Invalid console channel.\n");
|
|
dprintf(idx, "Invalid console channel.\n");
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -1768,7 +1757,7 @@ static void cmd_chanset(struct userrec *u, int idx, char *par)
|
|
|
if (all)
|
|
if (all)
|
|
|
chan = chanset;
|
|
chan = chanset;
|
|
|
bak = par;
|
|
bak = par;
|
|
|
- buf = malloc(strlen(par) + 1);
|
|
|
|
|
|
|
+ buf = calloc(1, strlen(par) + 1);
|
|
|
while (chan) {
|
|
while (chan) {
|
|
|
chname = chan->dname;
|
|
chname = chan->dname;
|
|
|
strcpy(buf, bak);
|
|
strcpy(buf, bak);
|
|
@@ -1808,7 +1797,8 @@ static void cmd_chanset(struct userrec *u, int idx, char *par)
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
if (!all && answers[0]) {
|
|
if (!all && answers[0]) {
|
|
|
- struct chanset_t *my_chan;
|
|
|
|
|
|
|
+ struct chanset_t *my_chan = NULL;
|
|
|
|
|
+
|
|
|
if ((my_chan = findchan_by_dname(chname)))
|
|
if ((my_chan = findchan_by_dname(chname)))
|
|
|
do_chanset(my_chan, bak, 0);
|
|
do_chanset(my_chan, bak, 0);
|
|
|
dprintf(idx, "Successfully set modes { %s } on %s.\n", answers, chname);
|
|
dprintf(idx, "Successfully set modes { %s } on %s.\n", answers, chname);
|