diff options
| author | dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-08-26 14:26:06 +0000 |
|---|---|---|
| committer | dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-08-26 14:26:06 +0000 |
| commit | 5c3ee8a19acbdc26f191386776207fb7fefb4930 (patch) | |
| tree | 6c577835b47bcd7a5f7db1f9d7f1fe33b319770d /src/hybrid.c | |
| parent | b05797bb10efec25579bda27ff4338f0b7803ac2 (diff) | |
BUILD : 1.7.5 (335) BUGS : 142, 152, 154, 155, 156, 157, 158 NOTES : Applied bugfix bundle patch from Trystan.
git-svn-id: svn://svn.anope.org/anope/trunk@335 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@211 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/hybrid.c')
| -rw-r--r-- | src/hybrid.c | 193 |
1 files changed, 158 insertions, 35 deletions
diff --git a/src/hybrid.c b/src/hybrid.c index 1a290f30b..53900431c 100644 --- a/src/hybrid.c +++ b/src/hybrid.c @@ -391,9 +391,16 @@ void anope_cmd_notice(char *source, char *dest, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } if (UsePrivmsg) { anope_cmd_privmsg2(source, dest, buf); @@ -411,9 +418,16 @@ void anope_cmd_privmsg(char *source, char *dest, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(source, "PRIVMSG %s :%s", dest, buf); } @@ -438,9 +452,16 @@ void anope_cmd_global(char *source, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(source ? source : ServerName, "WALLOPS :%s", buf); } @@ -629,13 +650,20 @@ void anope_cmd_svskill(char *source, char *user, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - if (!source || !user) { + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { return; } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!source || !user) { + return; + } send_cmd(source, "KILL %s :%s", user, buf); } @@ -696,11 +724,15 @@ void anope_cmd_part(char *nick, char *chan, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; - + *buf = '\0'; if (fmt) { va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + + if (buf) { send_cmd(nick, "PART %s :%s", chan, buf); } else { send_cmd(nick, "PART %s", chan); @@ -850,9 +882,16 @@ void anope_cmd_250(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(NULL, "250 %s ", buf); } @@ -862,9 +901,16 @@ void anope_cmd_307(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(ServerName, "307 %s ", buf); } @@ -874,9 +920,16 @@ void anope_cmd_311(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(ServerName, "311 %s ", buf); } @@ -886,9 +939,16 @@ void anope_cmd_312(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(ServerName, "312 %s ", buf); } @@ -898,9 +958,16 @@ void anope_cmd_317(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(ServerName, "317 %s ", buf); } @@ -944,9 +1011,17 @@ void anope_cmd_242(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; + + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); send_cmd(NULL, "242 %s ", buf); } @@ -955,9 +1030,16 @@ void anope_cmd_243(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } send_cmd(NULL, "243 %s ", buf); } @@ -967,9 +1049,17 @@ void anope_cmd_211(const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; + + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); send_cmd(NULL, "211 %s ", buf); } @@ -977,9 +1067,17 @@ void anope_cmd_mode(char *source, char *dest, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; + + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); send_cmd(source, "MODE %s %s", dest, buf); } @@ -994,9 +1092,13 @@ void anope_cmd_kick(char *source, char *chan, char *user, const char *fmt, { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } if (buf) { send_cmd(source, "KICK %s %s :%s", chan, user, buf); @@ -1009,9 +1111,17 @@ void anope_cmd_notice_ops(char *source, char *dest, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; + + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } + if (!buf) { + return; + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); send_cmd(NULL, "NOTICE @%s :%s", dest, buf); } @@ -1025,9 +1135,13 @@ void anope_cmd_quit(char *source, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + } if (buf) { send_cmd(source, "QUIT :%s", buf); @@ -1150,5 +1264,14 @@ void anope_cmd_svid_umode3(User * u, char *ts) // not used } +/* NICK <newnick> */ +void anope_cmd_chg_nick(char *oldnick, char *newnick) +{ + if (!oldnick || !newnick) { + return; + } + + send_cmd(oldnick, "NICK %s", newnick); +} #endif |
