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/viagra.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/viagra.c')
| -rw-r--r-- | src/viagra.c | 201 |
1 files changed, 164 insertions, 37 deletions
diff --git a/src/viagra.c b/src/viagra.c index c47278057..ee34e6401 100644 --- a/src/viagra.c +++ b/src/viagra.c @@ -664,9 +664,13 @@ void anope_cmd_part(char *nick, char *chan, 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 (!nick || !chan) { return; @@ -720,24 +724,36 @@ void anope_cmd_svskill(char *source, char *user, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; + *buf = '\0'; if (!source || !user) { return; } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); - - send_cmd(source, "SVSKILL %s :%s", user, buf); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + send_cmd(source, "SVSKILL %s :%s", user, buf); + } + return; } 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); + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!buf) { + return; + } if (ircdcap->tsmode) { if (uplink_capab & ircdcap->tsmode) { @@ -755,9 +771,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); @@ -994,19 +1014,32 @@ void anope_cmd_notice_ops(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); - send_cmd(NULL, "NOTICE @%s :%s", dest, buf); + if (fmt) { + va_start(args, fmt); + vsnprintf(buf, BUFSIZE - 1, fmt, args); + va_end(args); + send_cmd(NULL, "NOTICE @%s :%s", dest, buf); + } + return; } 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); @@ -1024,9 +1057,17 @@ void anope_cmd_privmsg(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); + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!buf) { + return; + } send_cmd(source, "PRIVMSG %s :%s", dest, buf); } @@ -1051,9 +1092,17 @@ void anope_cmd_global(char *source, 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); + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!buf) { + return; + } send_cmd(source ? source : ServerName, "GLOBOPS :%s", buf); } @@ -1072,9 +1121,17 @@ 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); } @@ -1084,9 +1141,17 @@ 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); } @@ -1096,9 +1161,17 @@ void anope_cmd_311(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); + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!buf) { + return; + } send_cmd(ServerName, "311 %s ", buf); } @@ -1108,9 +1181,17 @@ void anope_cmd_312(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); + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!buf) { + return; + } send_cmd(ServerName, "312 %s ", buf); } @@ -1120,9 +1201,17 @@ 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); } @@ -1166,9 +1255,18 @@ 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); } @@ -1177,9 +1275,17 @@ void anope_cmd_243(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); + } - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); + if (!buf) { + return; + } send_cmd(NULL, "243 %s ", buf); } @@ -1189,9 +1295,18 @@ 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); } @@ -1215,9 +1330,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); @@ -1344,6 +1463,14 @@ void anope_cmd_svid_umode3(User * u, char *ts) } } +/* NICK <newnick> */ +void anope_cmd_chg_nick(char *oldnick, char *newnick) +{ + if (!oldnick || !newnick) { + return; + } + send_cmd(oldnick, "NICK %s", newnick); +} #endif |
