]> jfr.im git - irc/quakenet/newserv.git/blob - chanserv/newsearch/csns-qemail.c
newsearch changes to support addition of trust_search/patriciasearch
[irc/quakenet/newserv.git] / chanserv / newsearch / csns-qemail.c
1 /*
2 * qemail functionality
3 */
4
5 #include "../../newsearch/newsearch.h"
6 #include "../chanserv.h"
7
8 #include <stdlib.h>
9
10 void *qemail_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput);
11 void qemail_free(searchCtx *ctx, struct searchNode *thenode);
12
13 struct searchNode *qemail_parse(searchCtx *ctx, int argc, char **argv) {
14 struct searchNode *thenode;
15
16 if (!(thenode=(struct searchNode *)malloc(sizeof (struct searchNode)))) {
17 parseError = "malloc: could not allocate memory for this search.";
18 return NULL;
19 }
20
21 thenode->returntype = RETURNTYPE_STRING;
22 thenode->exe = qemail_exe;
23 thenode->free = qemail_free;
24
25 return thenode;
26 }
27
28 void *qemail_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput) {
29 authname *ap = (authname *)theinput;
30 reguser *rup = ap->exts[chanservext];
31 if(!rup || !rup->email)
32 return "";
33
34 return rup->email->content;
35 }
36
37 void qemail_free(searchCtx *ctx, struct searchNode *thenode) {
38 free(thenode);
39 }
40