]> jfr.im git - irc/thales.git/blame - src/send.c
readmes added, contribs removed
[irc/thales.git] / src / send.c
CommitLineData
2ace9480 1/* Thales - IRC to Relational Database Gateway
2 * Copyright (C) 2002 Lucas Nussbaum <lucas@lucas-nussbaum.net>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19#include "thales.h"
20#include "send.h"
21#include "sockutil.h"
22#include "log.h"
23
24extern int servsock;
25extern int verbose;
26extern char *ServerName;
27
28/*************************************************************************/
29
30/* Send a command to the server. The two forms here are like
31 * printf()/vprintf() and friends. */
32
33void send_cmd(const char *source, const char *fmt, ...)
34{
35 va_list args;
36
37 va_start(args, fmt);
38 vsend_cmd(source, fmt, args);
39 va_end(args);
40}
41
42void vsend_cmd(const char *source, const char *fmt, va_list args)
43{
44 char buf[BUFSIZE];
45
46 vsnprintf(buf, sizeof(buf), fmt, args);
47 if (source)
48 {
49 sockprintf(servsock, ":%s %s\r\n", source, buf);
50 if (verbose)
51 log(">IRC : %s %s", source, buf);
52 }
53 else
54 {
55 sockprintf(servsock, "%s\r\n", buf);
56 if (verbose)
57 log(">IRC : %s", buf);
58 }
59}
60
61/*************************************************************************/
62
63/* Send out a WALLOPS (a GLOBOPS on ircd.dal). */
64
65void wallops(const char *source, const char *fmt, ...)
66{
67 va_list args;
68 char buf[BUFSIZE];
69
70 va_start(args, fmt);
71 snprintf(buf, sizeof(buf), "GLOBOPS :%s", fmt);
72 vsend_cmd(source ? source : ServerName, buf, args);
73}