.PHONY: all
all: chanserv_newsearch.so
-chanserv_newsearch.so: chanserv_newsearch.o formats.o csns-qusers.o interface.o csns-qlasthost.o csns-qemail.o csns-qsuspendreason.o csns-qusername.o csns-qchanflags.o
+chanserv_newsearch.so: chanserv_newsearch.o formats.o csns-qusers.o interface.o csns-qlasthost.o csns-qemail.o csns-qsuspendreason.o csns-qusername.o csns-qchanflags.o csns-qsuspended.o
registersearchterm(reg_usersearch, "qsuspendreason", qsuspendreason_parse, 0, "");
registersearchterm(reg_usersearch, "qusername", qusername_parse, 0, "");
registersearchterm(reg_chansearch, "qchanflags", qchanflags_parse, 0, "");
+ registersearchterm(reg_usersearch, "qsuspended", qsuspended_parse, 0, "");
chanservaddcommand("nicksearch", QCMD_OPER, 5, cs_donicksearch, "Wrapper for standard newserv nicksearch command.", "");
chanservaddcommand("chansearch", QCMD_OPER, 5, cs_dochansearch, "Wrapper for standard newserv chansearch command.", "");
struct searchNode *qsuspendreason_parse(searchCtx *, int argc, char **argv);
struct searchNode *qusername_parse(searchCtx *, int argc, char **argv);
struct searchNode *qchanflags_parse(searchCtx *, int argc, char **argv);
+struct searchNode *qsuspended_parse(searchCtx *, int argc, char **argv);
#endif
--- /dev/null
+/*
+ * qsuspended functionality
+ */
+
+#include "../../newsearch/newsearch.h"
+#include "../chanserv.h"
+
+#include <stdlib.h>
+
+void *qsuspended_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput);
+void qsuspended_free(searchCtx *ctx, struct searchNode *thenode);
+
+struct searchNode *qsuspended_parse(searchCtx *ctx, int argc, char **argv) {
+ struct searchNode *thenode;
+
+ if (!(thenode=(struct searchNode *)malloc(sizeof (struct searchNode)))) {
+ parseError = "malloc: could not allocate memory for this search.";
+ return NULL;
+ }
+
+ thenode->returntype = RETURNTYPE_BOOL;
+ thenode->exe = qsuspended_exe;
+ thenode->free = qsuspended_free;
+
+ return thenode;
+}
+
+void *qsuspended_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput) {
+ authname *ap = (authname *)theinput;
+ reguser *rup = ap->exts[chanservext];
+ if(!rup || !UHasSuspension(rup))
+ return NULL;
+
+ return (void *)1;
+}
+
+void qsuspended_free(searchCtx *ctx, struct searchNode *thenode) {
+ free(thenode);
+}
+