diff options
Diffstat (limited to 'src/lua/lua_task.c')
-rw-r--r-- | src/lua/lua_task.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index 89f35e90d..b0c7c8fd5 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -4180,19 +4180,12 @@ lua_task_get_metric_action (lua_State *L) enum rspamd_action_type action; if (task) { - if ((metric_res = task->result) != NULL) { - if (task->result->action == METRIC_ACTION_MAX) { - action = rspamd_check_action_metric (task, metric_res); - } - else { - action = task->result->action; - } - - lua_pushstring (L, rspamd_action_to_str (action)); - } - else { - lua_pushnil (L); + if ((metric_res = task->result) == NULL) { + metric_res = rspamd_create_metric_result (task); } + + action = rspamd_check_action_metric (task, metric_res); + lua_pushstring (L, rspamd_action_to_str (action)); } else { return luaL_error (L, "invalid arguments"); |