]>
jfr.im git - irc/quakenet/newserv.git/blob - trusts_search/newsearch_ast.c
1 #include "../lib/sstring.h"
2 #include "../lib/strlfunc.h"
3 #include "../lib/stringbuf.h"
6 #include "trusts_search.h"
8 int ast_tgsearch(searchASTExpr
*tree
, replyFunc reply
, void *sender
, wallFunc wall
, ChanDisplayFunc display
, HeaderFunc header
, void *headerarg
, int limit
) {
14 newsearch_ctxinit(&ctx
, search_astparse
, reply
, wall
, &cache
, reg_tgsearch
, sender
, display
, limit
);
16 memset(&cache
, 0, sizeof(cache
));
20 reply(sender
, "Parsing: %s", ast_printtree(buf
, sizeof(buf
), tree
, reg_tgsearch
));
21 search
= ctx
.parser(&ctx
, (char *)tree
);
23 reply(sender
, "Parse error: %s", parseError
);
27 reply(sender
, "Executing...");
29 header(sender
, headerarg
);
30 tgsearch_exe(search
, &ctx
);
32 (search
->free
)(&ctx
, search
);