}
if (!ucl_parser_add_chunk (parser, data, st.st_size)) {
- msg_err_config_forced ("ucl parser error: %s", ucl_parser_get_error (parser));
+ g_set_error (err, cfg_rcl_error_quark (), errno,
+ "ucl parser error: %s", ucl_parser_get_error (parser));
ucl_parser_free (parser);
munmap (data, st.st_size);
+
return FALSE;
}
if (!rspamd_rcl_parse (top, cfg, cfg, cfg->cfg_pool, cfg->rcl_obj, &err)) {
msg_err_config ("rcl parse error: %e", err);
- g_error_free (err);
+
+ if (err) {
+ g_error_free (err);
+ }
+
return FALSE;
}
new_task = g_malloc0 (sizeof (struct rspamd_task));
new_task->worker = worker;
+ new_task->lang_det = lang_det;
if (cfg) {
new_task->cfg = cfg;
}
new_task->re_rt = rspamd_re_cache_runtime_new (cfg->re_cache);
+
+ if (new_task->lang_det == NULL && cfg->lang_det != NULL) {
+ new_task->lang_det = cfg->lang_det;
+ }
}
gettimeofday (&new_task->tv, NULL);
new_task->time_virtual = rspamd_get_virtual_ticks ();
new_task->time_real_finish = NAN;
new_task->time_virtual_finish = NAN;
- new_task->lang_det = lang_det;
if (pool == NULL) {
new_task->task_pool =