X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/3f1af975911f8dc0423876a3f1679e599ea7f682..8855bb48b449ed06cfd3ce528b3c0a77c37cb24b:/newsearch/ns-any.c diff --git a/newsearch/ns-any.c b/newsearch/ns-any.c index 20513c35..289b9589 100644 --- a/newsearch/ns-any.c +++ b/newsearch/ns-any.c @@ -18,7 +18,7 @@ struct any_localdata { int hitlimit; }; -struct searchNode *any_parse(searchCtx *ctx, int type, int argc, char **argv) { +struct searchNode *any_parse(searchCtx *ctx, int argc, char **argv) { searchNode *thenode; struct any_localdata *localdata; @@ -34,12 +34,12 @@ struct searchNode *any_parse(searchCtx *ctx, int type, int argc, char **argv) { localdata->hitlimit = 0; - if(!(localdata->genfn=ctx->parser(ctx, type, argv[0]))) { + if(!(localdata->genfn=ctx->parser(ctx, argv[0]))) { free(localdata); return NULL; } - localdata->lambdafn = ctx->parser(ctx, type, argv[1]); + localdata->lambdafn = ctx->parser(ctx, argv[1]); if(!(localdata->lambdafn = coerceNode(ctx, localdata->lambdafn, RETURNTYPE_BOOL))) { (localdata->genfn->free)(ctx, localdata->genfn); free(localdata); @@ -66,7 +66,7 @@ void any_free(searchCtx *ctx, struct searchNode *thenode) { struct any_localdata *localdata = thenode->localdata; if(localdata->hitlimit) - ctx->reply(senderNSExtern, "Warning: your expression hit the maximum iteration count and was terminated early."); + ctx->reply(senderNSExtern, "Warning: your expression was terminated for %d nicks as it hit the maximum iteration count.", localdata->hitlimit); (localdata->genfn->free)(ctx, localdata->genfn); (localdata->lambdafn->free)(ctx, localdata->lambdafn); @@ -79,8 +79,9 @@ void *any_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput) { struct any_localdata *localdata = thenode->localdata; int i; - if(localdata->hitlimit) +/* if(localdata->hitlimit) return (void *)0; +*/ for(i=0;igenfn->exe)(ctx, localdata->genfn, theinput)) @@ -90,6 +91,6 @@ void *any_exe(searchCtx *ctx, struct searchNode *thenode, void *theinput) { return (void *)1; } - localdata->hitlimit = 1; + localdata->hitlimit++; return (void *)0; }