]> jfr.im git - irc/quakenet/newserv.git/blame - trusts2_newsearch/trusts_searchcommands.c
Merge.
[irc/quakenet/newserv.git] / trusts2_newsearch / trusts_searchcommands.c
CommitLineData
0ac8476d
P
1#include "trusts_newsearch.h"
2#include "../newsearch/newsearch.h"
3
4static void tsnsmessagewrapper(nick *np, char *format, ...) {
5 char buf[1024];
6 va_list ap;
7
8 va_start(ap, format);
9 vsnprintf(buf, sizeof(buf), format, ap);
10 va_end(ap);
11
12 controlreply(np, "%s", buf);
13}
14
15static void tsnswallwrapper(int level, char *format, ...) {
16 char buf[1024];
17 va_list ap;
18
19 va_start(ap, format);
20 vsnprintf(buf, sizeof(buf), format, ap);
21 va_end(ap);
22
23 controlwall(NO_OPER, level, "%s", buf);
24}
25
26int tsns_dotrustlist(void *source, int cargc, char **cargv) {
27 searchASTExpr tree;
28 searchASTExpr nodes[2];
29
30 if(cargc < 1) {
31 controlreply(source,"Syntax: trustlist <#groupid>");
32 return CMD_ERROR;
33 }
34
35 if(cargv[0][0]== '#'){
36 tree = NSASTNode(eq_parse, NSASTNode(tsns_tgid_parse), NSASTLiteral(&cargv[0][1]));
37 } else {
38 tree = NSASTNode(eq_parse, NSASTNode(tsns_tgid_parse), NSASTLiteral(cargv[0]));
39 }
40
41// nodes[0] = NSASTNode(tsns_tgid_parse);
42// nodes[1] = cargv[0];
43// tree =
44// NSASTManualNode(eq_parse, 2, nodes
45// );
46 return ast_tgsearch(&tree, tsnsmessagewrapper , source, tsnswallwrapper, printtgfull, NULL, NULL, 1);
47}
48
49int tsns_dotrustdenylist(void *source, int cargc, char **cargv) {
50 searchASTExpr tree;
51
52 tree = NSASTNode(gt_parse, NSASTNode(tsns_tbid_parse), NSASTLiteral("0"));
53
54 if(cargc == 1){ /* just assume -private */
55 return ast_nodesearch(&tree, tsnsmessagewrapper , source, tsnswallwrapper, printtrust_blockprivate, NULL, NULL, 500);
56 } else {
57 return ast_nodesearch(&tree, tsnsmessagewrapper , source, tsnswallwrapper, printtrust_block, NULL, NULL, 500);
58 }
59}