diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2011-07-18 17:15:33 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2011-07-18 17:15:33 +0400 |
commit | 5eb0717f2e58711f850c3f99f7163c105fda12c5 (patch) | |
tree | 32abc9d7c52b5b867fbdabffa1b502c2d5906aa0 /src/classifiers | |
parent | df48852be53a1822537e55e846723ee49bb421c5 (diff) | |
download | rspamd-5eb0717f2e58711f850c3f99f7163c105fda12c5.tar.gz rspamd-5eb0717f2e58711f850c3f99f7163c105fda12c5.zip |
Create statfiles using learn_spam function for bayes classifier.
Fix call of pre callbacks for a classifier.
Diffstat (limited to 'src/classifiers')
-rw-r--r-- | src/classifiers/bayes.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/classifiers/bayes.c b/src/classifiers/bayes.c index 5998d0fdb..f45f84a38 100644 --- a/src/classifiers/bayes.c +++ b/src/classifiers/bayes.c @@ -397,6 +397,24 @@ bayes_learn_spam (struct classifier_ctx* ctx, statfile_pool_t *pool, if ((file = statfile_pool_is_open (pool, st->path)) == NULL) { if ((file = statfile_pool_open (pool, st->path, st->size, FALSE)) == NULL) { msg_warn ("cannot open %s", st->path); + if (statfile_pool_create (pool, st->path, st->size) == -1) { + msg_err ("cannot create statfile %s", st->path); + g_set_error (err, + bayes_error_quark(), /* error domain */ + 1, /* error code */ + "cannot create statfile: %s", + st->path); + return FALSE; + } + if ((file = statfile_pool_open (pool, st->path, st->size, FALSE)) == NULL) { + g_set_error (err, + bayes_error_quark(), /* error domain */ + 1, /* error code */ + "cannot open statfile %s after creation", + st->path); + msg_err ("cannot open statfile %s after creation", st->path); + return FALSE; + } cur = g_list_next (cur); continue; } |