]>
jfr.im git - irc/quakenet/newserv.git/blob - newsearch/ns-services.c
2 * services functionality
10 void *services_exe(searchCtx
*ctx
, struct searchNode
*thenode
, void *theinput
);
11 void services_free(searchCtx
*ctx
, struct searchNode
*thenode
);
13 struct searchNode
*services_parse(searchCtx
*ctx
, int type
, int argc
, char **argv
) {
14 struct searchNode
*thenode
;
16 if (type
!= SEARCHTYPE_CHANNEL
) {
17 parseError
= "services: this function is only valid for channel searches.";
21 if (!(thenode
=(struct searchNode
*)malloc(sizeof(struct searchNode
)))) {
22 /* couldn't malloc() memory for thenode, so free localdata to avoid leakage */
23 parseError
= "malloc: could not allocate memory for this search.";
27 thenode
->returntype
= RETURNTYPE_INT
;
28 thenode
->localdata
= NULL
;
29 thenode
->exe
= services_exe
;
30 thenode
->free
= services_free
;
35 void *services_exe(searchCtx
*ctx
, struct searchNode
*thenode
, void *theinput
) {
36 chanindex
*cip
= (chanindex
*)theinput
;
39 unsigned long count
=0;
41 if (cip
->channel
== NULL
)
44 for(i
=0;i
<cip
->channel
->users
->hashsize
;i
++) {
45 if (cip
->channel
->users
->content
[i
]==nouser
)
48 if (!(np
=getnickbynumeric(cip
->channel
->users
->content
[i
])))
58 void services_free(searchCtx
*ctx
, struct searchNode
*thenode
) {