From: Vsevolod Stakhov Date: Fri, 12 Oct 2012 14:43:07 +0000 (+0400) Subject: Forgot in previous commit. X-Git-Tag: 0.5.3~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9c867f8a27255ec15a87675f0bd037fddb30a440;p=rspamd.git Forgot in previous commit. --- diff --git a/src/diff.h b/src/diff.h index e10fe943d..cea5e5d4a 100644 --- a/src/diff.h +++ b/src/diff.h @@ -64,4 +64,11 @@ gint rspamd_diff(const void *a, gint aoff, gint n, const void *b, gint boff, gin */ guint32 compare_diff_distance (f_str_t *s1, f_str_t *s2); +/* + * Calculate distance between two strings (in percentage) using diff algorithm. Strings are normalized before: + * all spaces are removed and all characters are lowercased. + * @return 100 in case of identical strings and 0 in case of totally different strings. +*/ +guint32 compare_diff_distance_normalized (f_str_t *s1, f_str_t *s2); + #endif /* DIFF_H_ */ diff --git a/src/expressions.c b/src/expressions.c index f3356a218..6a88514c9 100644 --- a/src/expressions.c +++ b/src/expressions.c @@ -1051,7 +1051,7 @@ rspamd_parts_distance (struct worker_task * task, GList * args, void *unused) } if (!p1->is_empty && !p2->is_empty) { if (p1->diff_str != NULL && p2->diff_str != NULL) { - diff = compare_diff_distance (p1->diff_str, p2->diff_str); + diff = compare_diff_distance_normalized (p1->diff_str, p2->diff_str); } else { diff = fuzzy_compare_parts (p1, p2);