}
pprob = rspamd_mempool_alloc (task->task_pool, sizeof (*pprob));
+ *pprob = final_prob;
rspamd_mempool_set_variable (task->task_pool, "bayes_prob", pprob, NULL);
if (cl.processed_tokens > 0 && fabs (final_prob - 0.5) > 0.05) {
while (cur) {
cb_ref = GPOINTER_TO_INT (cur->data);
+ lua_settop (L, 0);
lua_rawgeti (L, LUA_REGISTRYINDEX, cb_ref);
/* Push task and two booleans: is_spam and is_unlearn */
ptask = lua_newuserdata (L, sizeof (*ptask));
}
lua_settop (L, 0);
- continue; /* Go to the next classifier */
+ break;
}
}
}
cur = g_list_next (cur);
}
+ if (conditionally_skipped) {
+ break;
+ }
+
if (cl->subrs->learn_spam_func (cl, task->tokens, task, spam,
task->flags & RSPAMD_TASK_FLAG_UNLEARN, err)) {
learned = TRUE;