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;
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);
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);
struct any_localdata *localdata = thenode->localdata;
int i;
- if(localdata->hitlimit)
+/* if(localdata->hitlimit)
return (void *)0;
+*/
for(i=0;i<MAX_ITERATIONS;i++) {
if(!(localdata->genfn->exe)(ctx, localdata->genfn, theinput))
return (void *)1;
}
- localdata->hitlimit = 1;
+ localdata->hitlimit++;
return (void *)0;
}