dovecot-2.2: lib-fts: Removed "simple" normalizer.

dovecot at dovecot.org dovecot at dovecot.org
Sat May 9 11:28:36 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/1963690280b7
changeset: 18583:1963690280b7
user:      Timo Sirainen <tss at iki.fi>
date:      Sat May 09 14:09:37 2015 +0300
description:
lib-fts: Removed "simple" normalizer.
It translated input to titlecase, which wasn't suitable for snowball
stemming that wanted lowercase input. Since that doesn't work, there's
probably no good for the existence of this (perhaps in future it's replaced
by unicode-aware lowercaser).

diffstat:

 src/lib-fts/Makefile.am                    |   1 -
 src/lib-fts/fts-filter-normalizer-simple.c |  79 ------------------------------
 src/lib-fts/fts-filter.c                   |   1 -
 src/lib-fts/fts-filter.h                   |   4 -
 4 files changed, 0 insertions(+), 85 deletions(-)

diffs (119 lines):

diff -r b2f9e4cf17db -r 1963690280b7 src/lib-fts/Makefile.am
--- a/src/lib-fts/Makefile.am	Sat May 09 14:19:48 2015 +0300
+++ b/src/lib-fts/Makefile.am	Sat May 09 14:09:37 2015 +0300
@@ -62,7 +62,6 @@
 libfts_la_SOURCES = \
 	fts-filter.c \
 	fts-filter-normalizer-icu.c \
-	fts-filter-normalizer-simple.c \
 	fts-filter-stopwords.c \
 	fts-filter-stemmer-snowball.c \
 	fts-language.c \
diff -r b2f9e4cf17db -r 1963690280b7 src/lib-fts/fts-filter-normalizer-simple.c
--- a/src/lib-fts/fts-filter-normalizer-simple.c	Sat May 09 14:19:48 2015 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/* Copyright (c) 2015 Dovecot authors, see the included COPYING file */
-
-#include "lib.h"
-#include "unichar.h"
-#include "str.h"
-#include "fts-filter.h"
-#include "fts-filter-private.h"
-#include "fts-language.h"
-
-struct fts_filter_normalizer_simple {
-	struct fts_filter filter;
-	string_t *str;
-};
-
-static bool
-fts_filter_normalizer_simple_supports(const struct fts_language *lang ATTR_UNUSED)
-{
-	return TRUE;
-}
-
-static void
-fts_filter_normalizer_simple_destroy(struct fts_filter *_filter)
-{
-	struct fts_filter_normalizer_simple *filter =
-		(struct fts_filter_normalizer_simple *)_filter;
-
-	str_free(&filter->str);
-	i_free(filter);
-}
-
-static int
-fts_filter_normalizer_simple_create(const struct fts_language *lang ATTR_UNUSED,
-				    const char *const *settings,
-				    struct fts_filter **filter_r,
-				    const char **error_r)
-{
-	struct fts_filter_normalizer_simple *filter;
-
-	if (settings[0] != NULL) {
-		*error_r = t_strdup_printf("Unknown setting: %s", settings[0]);
-		return -1;
-	}
-	filter = i_new(struct fts_filter_normalizer_simple, 1);
-	filter->filter = *fts_filter_normalizer_simple;
-	filter->str = str_new(default_pool, 128);
-
-	*filter_r = &filter->filter;
-	return 0;
-}
-
-static int
-fts_filter_normalizer_simple_filter(struct fts_filter *_filter,
-				    const char **token,
-				    const char **error_r ATTR_UNUSED)
-{
-	struct fts_filter_normalizer_simple *filter =
-		(struct fts_filter_normalizer_simple *)_filter;
-
-	str_truncate(filter->str, 0);
-	if (uni_utf8_to_decomposed_titlecase(*token, strlen(*token),
-					     filter->str) < 0)
-		i_panic("fts-normalizer-simple: Token is not valid UTF-8: %s", *token);
-	*token = str_c(filter->str);
-	return 1;
-}
-
-static const struct fts_filter_vfuncs normalizer_filter_vfuncs = {
-	fts_filter_normalizer_simple_supports,
-	fts_filter_normalizer_simple_create,
-	fts_filter_normalizer_simple_filter,
-	fts_filter_normalizer_simple_destroy
-};
-
-static const struct fts_filter fts_filter_normalizer_simple_real = {
-	.class_name = SIMPLE_NORMALIZER_FILTER_NAME,
-	.v = &normalizer_filter_vfuncs
-};
-
-const struct fts_filter *fts_filter_normalizer_simple = &fts_filter_normalizer_simple_real;
diff -r b2f9e4cf17db -r 1963690280b7 src/lib-fts/fts-filter.c
--- a/src/lib-fts/fts-filter.c	Sat May 09 14:19:48 2015 +0300
+++ b/src/lib-fts/fts-filter.c	Sat May 09 14:09:37 2015 +0300
@@ -15,7 +15,6 @@
 	fts_filter_register(fts_filter_stopwords);
 	fts_filter_register(fts_filter_stemmer_snowball);
 	fts_filter_register(fts_filter_normalizer_icu);
-	fts_filter_register(fts_filter_normalizer_simple);
 }
 
 void fts_filters_deinit(void)
diff -r b2f9e4cf17db -r 1963690280b7 src/lib-fts/fts-filter.h
--- a/src/lib-fts/fts-filter.h	Sat May 09 14:19:48 2015 +0300
+++ b/src/lib-fts/fts-filter.h	Sat May 09 14:09:37 2015 +0300
@@ -33,10 +33,6 @@
 extern const struct fts_filter *fts_filter_normalizer_icu;
 #define ICU_NORMALIZER_FILTER_NAME "normalizer-icu"
 
-/* Normalization using i;unicode-casemap (RFC 5051) */
-extern const struct fts_filter *fts_filter_normalizer_simple;
-#define SIMPLE_NORMALIZER_FILTER_NAME "normalizer-simple"
-
 /* Register all built-in filters. */
 void fts_filters_init(void);
 void fts_filters_deinit(void);


More information about the dovecot-cvs mailing list