dovecot-2.2: lib-fts: Assume that fts_language.name is always lo...

dovecot at dovecot.org dovecot at dovecot.org
Sat May 9 09:30:46 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/92ee245b1406
changeset: 18564:92ee245b1406
user:      Timo Sirainen <tss at iki.fi>
date:      Sat May 09 12:04:56 2015 +0300
description:
lib-fts: Assume that fts_language.name is always lowercased and has two letters.
Anything else just unnecessarily complicates the code.

diffstat:

 src/lib-fts/fts-filter-stemmer-snowball.c |  5 ++---
 src/lib-fts/fts-filter-stopwords.c        |  2 +-
 src/lib-fts/fts-language.h                |  1 +
 src/lib-fts/test-fts-filter.c             |  8 ++++----
 4 files changed, 8 insertions(+), 8 deletions(-)

diffs (84 lines):

diff -r e1d2702eea84 -r 92ee245b1406 src/lib-fts/fts-filter-stemmer-snowball.c
--- a/src/lib-fts/fts-filter-stemmer-snowball.c	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/fts-filter-stemmer-snowball.c	Sat May 09 12:04:56 2015 +0300
@@ -19,8 +19,7 @@
 static bool
 fts_filter_stemmer_snowball_supports(const struct fts_language *lang)
 {
-	struct sb_stemmer  *stemmer = sb_stemmer_new(t_str_lcase(lang->name),
-	                                             NULL);
+	struct sb_stemmer *stemmer = sb_stemmer_new(lang->name, NULL);
 	if (stemmer != NULL) {
 		sb_stemmer_delete(stemmer);
 		return TRUE;
@@ -59,7 +58,7 @@
 	sp->pool = pp;
 	sp->filter = *fts_filter_stemmer_snowball;
 	sp->lang = p_malloc(sp->pool, sizeof(struct fts_language));
-	sp->lang->name = str_lcase(p_strdup(sp->pool, lang->name));
+	sp->lang->name = p_strdup(sp->pool, lang->name);
 	*filter_r = &sp->filter;
 	return 0;
 }
diff -r e1d2702eea84 -r 92ee245b1406 src/lib-fts/fts-filter-stopwords.c
--- a/src/lib-fts/fts-filter-stopwords.c	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/fts-filter-stopwords.c	Sat May 09 12:04:56 2015 +0300
@@ -107,7 +107,7 @@
 	sp->filter = *fts_filter_stopwords;
 	sp->pool = pp;
 	sp->lang = p_malloc(sp->pool, sizeof(struct fts_language));
-	sp->lang->name = str_lcase(p_strdup(sp->pool, lang->name));
+	sp->lang->name = p_strdup(sp->pool, lang->name);
 	if (dir != NULL)
 		sp->stopwords_dir = p_strdup(pp, dir);
 	else
diff -r e1d2702eea84 -r 92ee245b1406 src/lib-fts/fts-language.h
--- a/src/lib-fts/fts-language.h	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/fts-language.h	Sat May 09 12:04:56 2015 +0300
@@ -13,6 +13,7 @@
 };
 
 struct fts_language {
+	/* Two-letter language name lowercased, e.g. "en" */
 	const char *name;
 };
 ARRAY_DEFINE_TYPE(fts_language, const struct fts_language *);
diff -r e1d2702eea84 -r 92ee245b1406 src/lib-fts/test-fts-filter.c
--- a/src/lib-fts/test-fts-filter.c	Sat May 09 11:57:40 2015 +0300
+++ b/src/lib-fts/test-fts-filter.c	Sat May 09 12:04:56 2015 +0300
@@ -186,7 +186,7 @@
 	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	const char *error;
-	struct fts_language language = { .name = "EN" };
+	struct fts_language language = { .name = "en" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"dries" ,"friendlies", "All", "human", "beings", "are",
@@ -226,7 +226,7 @@
 	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	const char *error;
-	struct fts_language language = { .name = "fRench" };
+	struct fts_language language = { .name = "fr" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"Tous", "les", "\xC3\xAAtres", "humains", "naissent",
@@ -262,7 +262,7 @@
 	struct fts_filter *stemmer;
 	struct fts_filter *filter;
 	const char *error;
-	struct fts_language language = { .name = "eN" };
+	struct fts_language language = { .name = "en" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"dries" ,"friendlies", "All", "human", "beings", "are",
@@ -486,7 +486,7 @@
 	const char * const id_settings[] =
 		//{"id", "Any-Lower; NFKD; [: Nonspacing Mark :] Remove; NFC", NULL};
 		{"id", "Lower", NULL};
-	struct fts_language language = { .name = "En" };
+	struct fts_language language = { .name = "en" };
 	const char *token = NULL;
 	const char * const tokens[] = {
 		"dries" ,"friendlies", "All", "human", "beings", "are",


More information about the dovecot-cvs mailing list