summaryrefslogtreecommitdiff
path: root/src/dreamforge.c
diff options
context:
space:
mode:
authordane 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
committerdane 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
commit5c3ee8a19acbdc26f191386776207fb7fefb4930 (patch)
tree6c577835b47bcd7a5f7db1f9d7f1fe33b319770d /src/dreamforge.c
parentb05797bb10efec25579bda27ff4338f0b7803ac2 (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/dreamforge.c')
-rw-r--r--src/dreamforge.c194
1 files changed, 159 insertions, 35 deletions
diff --git a/src/dreamforge.c b/src/dreamforge.c
index e9c90aa5c..365ddf466 100644
--- a/src/dreamforge.c
+++ b/src/dreamforge.c
@@ -484,9 +484,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;
@@ -521,13 +525,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);
}
@@ -582,9 +593,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, "GLOBOPS :%s", buf);
}
@@ -680,9 +698,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);
}
@@ -690,9 +716,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);
}
@@ -701,9 +735,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);
@@ -721,9 +762,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);
}
@@ -755,9 +803,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);
@@ -780,9 +832,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);
}
@@ -792,9 +851,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);
}
@@ -804,9 +870,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);
}
@@ -816,9 +889,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);
}
@@ -828,9 +908,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);
}
@@ -874,9 +961,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);
}
@@ -885,9 +980,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);
}
@@ -897,9 +999,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);
}
@@ -916,9 +1026,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);
@@ -1120,4 +1234,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