summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/base64.c6
-rw-r--r--src/botserv.c6
-rw-r--r--src/channels.c32
-rw-r--r--src/chanserv.c22
-rw-r--r--src/core/cs_logout.c3
5 files changed, 37 insertions, 32 deletions
diff --git a/src/base64.c b/src/base64.c
index 2c78a9703..af3378cf4 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -20,14 +20,14 @@
static char *int_to_base64(long);
static long base64_to_int(char *);
-char *base64enc(long i)
+const char* base64enc(long i)
{
if (i < 0)
return ("0");
return int_to_base64(i);
}
-long base64dec(char *b64)
+long base64dec(char* b64)
{
if (b64)
return base64_to_int(b64);
@@ -280,7 +280,7 @@ int b64_decode(const char *src, char *target, size_t targsize)
return (tarindex);
}
-char *encode_ip(unsigned char *ip)
+const char* encode_ip(unsigned char *ip)
{
static char buf[25];
unsigned char *cp;
diff --git a/src/botserv.c b/src/botserv.c
index 9f05ec9b3..b1507b2e8 100644
--- a/src/botserv.c
+++ b/src/botserv.c
@@ -90,7 +90,7 @@ void botserv(User * u, char *buf)
return;
} else if (stricmp(cmd, "\1PING") == 0) {
if (!(s = strtok(NULL, ""))) {
- s = "";
+ *s = 0;
}
ircdproto->SendCTCP(findbot(s_BotServ), u->nick, "PING %s", s);
} else {
@@ -113,7 +113,7 @@ void botmsgs(User * u, BotInfo * bi, char *buf)
if (!stricmp(cmd, "\1PING")) {
if (!(s = strtok(NULL, ""))) {
- s = "";
+ *s = 0;
}
ircdproto->SendCTCP(bi, u->nick, "PING %s", s);
}
@@ -745,7 +745,7 @@ void bot_join(ChannelInfo * ci)
/* Should we be invited? */
if ((ci->c->mode & anope_get_invite_mode())
- || (ci->c->limit && ci->c->usercount >= ci->c->limit))
+ || (ci->c->limit && (unsigned int)ci->c->usercount >= ci->c->limit))
ircdproto->SendNoticeChanops(NULL, ci->c->name,
"%s invited %s into the channel.",
ci->bi->nick, ci->bi->nick);
diff --git a/src/channels.c b/src/channels.c
index 599ce6585..5fdd6b73b 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -68,7 +68,7 @@ char *chan_get_modes(Channel * chan, int complete, int plus)
char *end = res;
if (chan->mode) {
- int n = 0;
+ unsigned int n = 0;
CBModeInfo *cbmi = cbmodeinfos;
do {
@@ -762,7 +762,7 @@ void do_sjoin(const char *source, int ac, const char **av)
struct c_userlist *cu;
const char *s = NULL;
char *end, cubuf[7], *end2;
- const char *cumodes[6];
+ const char *modes[6];
int is_sqlined = 0;
int ts = 0;
int is_created = 0;
@@ -783,10 +783,10 @@ void do_sjoin(const char *source, int ac, const char **av)
c->creation_time = ts;
for (cu = c->users; cu; cu = cu->next) {
/* XXX */
- cumodes[0] = "-ov";
- cumodes[1] = cu->user->nick;
- cumodes[2] = cu->user->nick;
- chan_set_modes(source, c, 3, cumodes, 2);
+ modes[0] = "-ov";
+ modes[1] = cu->user->nick;
+ modes[2] = cu->user->nick;
+ chan_set_modes(source, c, 3, modes, 2);
}
if (c->ci && c->ci->bi) {
/* This is ugly, but it always works */
@@ -807,7 +807,7 @@ void do_sjoin(const char *source, int ac, const char **av)
}
cubuf[0] = '+';
- cumodes[0] = cubuf;
+ modes[0] = cubuf;
/* We make all the users join */
s = av[ac - 1]; /* Users are always the last element */
@@ -891,9 +891,9 @@ void do_sjoin(const char *source, int ac, const char **av)
int i;
for (i = 1; i < end2 - cubuf; i++)
- cumodes[i] = user->nick;
+ modes[i] = user->nick;
chan_set_modes(source, c, 1 + (end2 - cubuf - 1),
- cumodes, 2);
+ modes, 2);
}
if (c->ci && (!serv || is_sync(serv))
@@ -924,7 +924,7 @@ void do_sjoin(const char *source, int ac, const char **av)
}
cubuf[0] = '+';
- cumodes[0] = cubuf;
+ modes[0] = cubuf;
/* We make all the users join */
s = av[2]; /* Users are always the last element */
@@ -976,9 +976,9 @@ void do_sjoin(const char *source, int ac, const char **av)
int i;
for (i = 1; i < end2 - cubuf; i++)
- cumodes[i] = user->nick;
+ modes[i] = user->nick;
chan_set_modes(source, c, 1 + (end2 - cubuf - 1),
- cumodes, 2);
+ modes, 2);
}
chan_set_correct_modes(user, c, 1);
@@ -999,7 +999,7 @@ void do_sjoin(const char *source, int ac, const char **av)
}
cubuf[0] = '+';
- cumodes[0] = cubuf;
+ modes[0] = cubuf;
/* We make all the users join */
s = sstrdup(source); /* Users are always the last element */
@@ -1051,9 +1051,9 @@ void do_sjoin(const char *source, int ac, const char **av)
int i;
for (i = 1; i < end2 - cubuf; i++)
- cumodes[i] = user->nick;
+ modes[i] = user->nick;
chan_set_modes(source, c, 1 + (end2 - cubuf - 1),
- cumodes, 2);
+ modes, 2);
}
chan_set_correct_modes(user, c, 1);
@@ -1118,7 +1118,7 @@ void do_cmode(const char *source, int ac, const char **av)
{
Channel *chan;
ChannelInfo *ci = NULL;
- int i;
+ unsigned int i;
const char *t;
if (ircdcap->tsmode) {
diff --git a/src/chanserv.c b/src/chanserv.c
index a878d0882..b3812dc1c 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -135,7 +135,7 @@ char *get_mlock_modes(ChannelInfo * ci, int complete)
char *end = res;
if (ci->mlock_on || ci->mlock_off) {
- int n = 0;
+ unsigned int n = 0;
CBModeInfo *cbmi = cbmodeinfos;
if (ci->mlock_on) {
@@ -274,7 +274,7 @@ void chanserv(User * u, char *buf)
return;
} else if (stricmp(cmd, "\1PING") == 0) {
if (!(s = strtok(NULL, ""))) {
- s = "";
+ *s = 0;
}
ircdproto->SendCTCP(findbot(s_ChanServ), u->nick, "PING %s", s);
} else {
@@ -314,6 +314,7 @@ void load_cs_dbase(void)
for (i = 0; i < 256 && !failed; i++) {
uint16 tmp16;
uint32 tmp32;
+ unsigned int read;
int n_levels;
char *s;
NickAlias *na;
@@ -328,7 +329,7 @@ void load_cs_dbase(void)
last = &ci->next;
ci->prev = prev;
prev = ci;
- SAFE(read_buffer(ci->name, f));
+ SAFE(read = read_buffer(ci->name, f));
SAFE(read_string(&s, f));
if (s) {
ci->founder = findcore(s);
@@ -353,7 +354,7 @@ void load_cs_dbase(void)
} else {
ci->successor = NULL;
}
- SAFE(read_buffer(ci->founderpass, f));
+ SAFE(read = read_buffer(ci->founderpass, f));
SAFE(read_string(&ci->desc, f));
if (!ci->desc)
ci->desc = sstrdup("");
@@ -364,7 +365,7 @@ void load_cs_dbase(void)
SAFE(read_int32(&tmp32, f));
ci->last_used = tmp32;
SAFE(read_string(&ci->last_topic, f));
- SAFE(read_buffer(ci->last_topic_setter, f));
+ SAFE(read = read_buffer(ci->last_topic_setter, f));
SAFE(read_int32(&tmp32, f));
ci->last_topic_time = tmp32;
SAFE(read_int32(&ci->flags, f));
@@ -479,7 +480,7 @@ void load_cs_dbase(void)
SAFE(read_int16(&memos->flags, f));
SAFE(read_int32(&tmp32, f));
memos->time = tmp32;
- SAFE(read_buffer(memos->sender, f));
+ SAFE(read = read_buffer(memos->sender, f));
SAFE(read_string(&memos->text, f));
memos->moduleData = NULL;
}
@@ -632,10 +633,11 @@ void save_cs_dbase(void)
for (i = 0; i < 256; i++) {
int16 tmp16;
+ unsigned int written;
for (ci = chanlists[i]; ci; ci = ci->next) {
SAFE(write_int8(1, f));
- SAFE(write_buffer(ci->name, f));
+ SAFE(written = write_buffer(ci->name, f));
if (ci->founder)
SAFE(write_string(ci->founder->display, f));
else
@@ -644,14 +646,14 @@ void save_cs_dbase(void)
SAFE(write_string(ci->successor->display, f));
else
SAFE(write_string(NULL, f));
- SAFE(write_buffer(ci->founderpass, f));
+ SAFE(written = write_buffer(ci->founderpass, f));
SAFE(write_string(ci->desc, f));
SAFE(write_string(ci->url, f));
SAFE(write_string(ci->email, f));
SAFE(write_int32(ci->time_registered, f));
SAFE(write_int32(ci->last_used, f));
SAFE(write_string(ci->last_topic, f));
- SAFE(write_buffer(ci->last_topic_setter, f));
+ SAFE(written = write_buffer(ci->last_topic_setter, f));
SAFE(write_int32(ci->last_topic_time, f));
SAFE(write_int32(ci->flags, f));
SAFE(write_string(ci->forbidby, f));
@@ -708,7 +710,7 @@ void save_cs_dbase(void)
SAFE(write_int32(memos->number, f));
SAFE(write_int16(memos->flags, f));
SAFE(write_int32(memos->time, f));
- SAFE(write_buffer(memos->sender, f));
+ SAFE(written = write_buffer(memos->sender, f));
SAFE(write_string(memos->text, f));
}
diff --git a/src/core/cs_logout.c b/src/core/cs_logout.c
index fff40ed4e..d8fb911ed 100644
--- a/src/core/cs_logout.c
+++ b/src/core/cs_logout.c
@@ -87,6 +87,9 @@ int do_logout(User * u)
notice_lang(s_ChanServ, u, NICK_X_NOT_IN_USE, nick);
} else if (!is_servadmin && u2 != u && !is_real_founder(u, ci)) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
+ /* Since founders can not logout we should tell them -katsklaw */
+ } else if (u2 == u && is_real_founder(u, ci)) {
+ notice_lang(s_ChanServ, u, CHAN_LOGOUT_FOUNDER_FAILED, chan);
} else {
if (u2) {
make_unidentified(u2, ci);