From: Vsevolod Stakhov Date: Wed, 31 May 2023 14:04:51 +0000 (+0100) Subject: [Minor] Compare parts with many words by just using their length X-Git-Tag: 3.6~88 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60e234c400d1063db48d2ac42e46329ef148d32e;p=thirdparty%2Frspamd.git [Minor] Compare parts with many words by just using their length --- diff --git a/src/libmime/message.c b/src/libmime/message.c index af8ad0e566..bdc1378d9e 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -585,9 +585,17 @@ rspamd_words_levenshtein_distance (struct rspamd_task *task, s2len = w2->len; if (s1len + s2len > max_words) { - msg_err_task ("cannot compare parts with more than %ud words: (%ud + %ud)", + msg_info_task ("cannot direct compare multipart/alternative parts with more than %ud words in total: " + "(%ud words in one part and %ud in another)", max_words, s1len, s2len); - return 0; + + /* Use approximate comparison of number of words */ + if (s1len > s2len) { + return s1len - s2len; + } + else { + return s2len - s1len; + } } column = g_malloc0 ((s1len + 1) * sizeof (guint));