diff options
| author | Adam <Adam@Anope.org> | 2010-05-25 00:57:25 -0500 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2010-06-18 21:04:07 -0400 |
| commit | 4a2b9ebcf38d6c0a2860b966421b3af125438488 (patch) | |
| tree | e4af4e59fd29352138db0fb0ff614d50233850b8 /src/send.c | |
| parent | 2fba686904e6f78ebab35df171c5757afeebf05d (diff) | |
Renamed all of source files from .c to .cpp
Diffstat (limited to 'src/send.c')
| -rw-r--r-- | src/send.c | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/src/send.c b/src/send.c deleted file mode 100644 index 4209e2a1b..000000000 --- a/src/send.c +++ /dev/null @@ -1,232 +0,0 @@ -/* Routines for sending stuff to the network. - * - * (C) 2003-2010 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - * - * - */ - -#include "services.h" - -/*************************************************************************/ - -/** - * Send a command to the server. The two forms here are like - * printf()/vprintf() and friends. - * @param source Orgin of the Message (some times NULL) - * @param fmt Format of the Message - * @param ... any number of parameters - * @return void - */ -void send_cmd(const char *source, const char *fmt, ...) -{ - va_list args; - static char buf[BUFSIZE]; - - va_start(args, fmt); - - vsnprintf(buf, BUFSIZE - 1, fmt, args); - - if (!UplinkSock) - { - if (source) - Alog(LOG_DEBUG) << "Attemtped to send \"" << source << " " << buf << "\" with UplinkSock NULL"; - else - Alog(LOG_DEBUG) << "Attemtped to send \"" << buf << "\" with UplinkSock NULL"; - return; - } - - if (source) - { - UplinkSock->Write(":%s %s", source, buf); - Alog(LOG_DEBUG) << "Sent: :" << source << " " << buf; - } - else - { - UplinkSock->Write("%s", buf); - Alog(LOG_DEBUG) << "Sent: "<< buf; - } - - va_end(args); -} - - -/* - * Copypasta version that accepts std::string source. - */ -void send_cmd(const std::string &source, const char *fmt, ...) -{ - va_list args; - static char buf[BUFSIZE]; - - va_start(args, fmt); - - vsnprintf(buf, BUFSIZE - 1, fmt, args); - - if (!UplinkSock) - { - if (!source.empty()) - Alog(LOG_DEBUG) << "Attemtped to send \"" << source << " " << buf << "\" with UplinkSock NULL"; - else - Alog(LOG_DEBUG) << "Attemtped to send " << buf << "\" with UplinkSock NULL"; - return; - } - - if (!source.empty()) - { - UplinkSock->Write(":%s %s", source.c_str(), buf); - Alog(LOG_DEBUG) << "Sent: :" << source << " " << buf; - } - else - { - UplinkSock->Write("%s", buf); - Alog(LOG_DEBUG) << "Sent: " << buf; - } - - va_end(args); -} - -/*************************************************************************/ - -/** - * Send a server notice - * @param source Orgin of the Message - * @param s Server Struct - * @param fmt Format of the Message - * @param ... any number of parameters - * @return void - */ -void notice_server(char *source, Server * s, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - - if (Config.NSDefFlags.HasFlag(NI_MSG)) { - ircdproto->SendGlobalPrivmsg(findbot(source), s, buf); - } else { - ircdproto->SendGlobalNotice(findbot(source), s, buf); - } - va_end(args); - } -} - -/*************************************************************************/ - -/** - * Send a NULL-terminated array of text as NOTICEs. - * @param source Orgin of the Message - * @param dest Destination of the Notice - * @param text Array of text to send - * @return void - */ -void notice_list(char *source, char *dest, char **text) -{ - User *u = finduser(dest); - while (*text) { - /* Have to kludge around an ircII bug here: if a notice includes - * no text, it is ignored, so we replace blank lines by lines - * with a single space. - */ - if (**text) { - u->SendMessage(source, "%s", *text); - } else { - u->SendMessage(source, " "); - } - text++; - } -} - -/*************************************************************************/ - -/** - * Send a message in the user's selected language to the user using NOTICE. - * @param source Orgin of the Message - * @param u User Struct - * @param int Index of the Message - * @param ... any number of parameters - * @return void - */ -void notice_lang(const std::string &source, User * dest, int message, ...) -{ - va_list args; - char buf[4096]; /* because messages can be really big */ - char *s, *t; - const char *fmt; - - if (!dest || !message) { - return; - } - va_start(args, message); - fmt = getstring(dest, message); - - if (!fmt) - return; - memset(buf, 0, 4096); - vsnprintf(buf, sizeof(buf), fmt, args); - s = buf; - while (*s) { - t = s; - s += strcspn(s, "\n"); - if (*s) - *s++ = 0; - - dest->SendMessage(source, "%s", *t ? t : " "); - } - va_end(args); -} - -/*************************************************************************/ - -/** - * Like notice_lang(), but replace %S by the source. This is an ugly hack - * to simplify letting help messages display the name of the pseudoclient - * that's sending them. - * @param source Orgin of the Message - * @param u User Struct - * @param int Index of the Message - * @param ... any number of parameters - * @return void - */ -void notice_help(const char *source, User * dest, int message, ...) -{ - va_list args; - char buf[4096], buf2[4096], outbuf[BUFSIZE]; - char *s, *t; - const char *fmt; - - if (!dest || !message) { - return; - } - va_start(args, message); - fmt = getstring(dest, message); - if (!fmt) - return; - /* Some sprintf()'s eat %S or turn it into just S, so change all %S's - * into \1\1... we assume this doesn't occur anywhere else in the - * string. */ - strscpy(buf2, fmt, sizeof(buf2)); - strnrepl(buf2, sizeof(buf2), "%S", "\1\1"); - vsnprintf(buf, sizeof(buf), buf2, args); - s = buf; - while (*s) { - t = s; - s += strcspn(s, "\n"); - if (*s) - *s++ = 0; - strscpy(outbuf, t, sizeof(outbuf)); - strnrepl(outbuf, sizeof(outbuf), "\1\1", source); - - dest->SendMessage(source, "%s", *outbuf ? outbuf : " "); - } - va_end(args); -} |
